有几个套接字问题,并且找不到明确的是或否,所以如果它是转发,请提前道歉:)平台是Linux 2.6.30,C++应用程序。网络还很新,即将加速。套接字问题
套接字API线程是否安全?例如,如果我在不使用互斥锁的情况下从多个线程发送数据,还是必须使用自己的互斥锁确保这一点?
轮询/选择以检查我的发送是否会阻止然后发送,而不仅仅是发送并让发送API内部排队处理发送是否更好?如果线程无论如何会阻塞(如果我不使用超时,那是),我真的不明白为什么需要发送后跟一个发送。
在Linux中,套接字是否默认为零拷贝,或者是否存在涉及的副本?如果存在副本(不是以API的形式,而是以粒度的形式),是否有大小限制?如果答案是内核确实做了副本,是否有零拷贝套接字?
如果我必须在两台机器之间进行通信,我会假设多个套接字将比单个套接字使用更好的带宽。这是一个正确的假设吗?在两台普通的Linux机器之间使用全部BW的最佳方式是什么?
5.你最喜欢的测量接口上当前带宽使用情况的工具是什么?这可能只是一个偏好,我看着iptraf等,但希望看到别人使用和喜欢的东西。