文章分类 - socket
socket programming in linux environment
摘要:cat /proc/sys/net/ipv4/tcp_rmem cat /proc/sys/net/ipv4/tcp_wmem tcp 或udp接收缓冲区最大值 cat /proc/sys/net/core/rmem_max UDP默认参数 cat /proc/sys/net/core/rmem_d
阅读全文
摘要:SO_MAX_MSG_SIZE并非发送缓冲区的大小.这个指示允许发送一个UDP报文的最大长度.因为UDP是无连接的,没有重充传机制,所以不需要缓冲区. 他只是简单的将数据包发送到以太网接口上.操作系统会保证每个线程都有机会得到运行.另外:从系统处理以太网帧的过程来看, 在以太网卡底层驱动将目标地址是
阅读全文
摘要:转载: http://blog.csdn.net/bestboyxie/article/details/52444840 处理步骤 1。用原始套接字,监听arp消息,获取接口的mac地址; 2。根据收到的arp广播,可以从arp协议的sip字段,提取出源ip; 3。根据ip地址,然后掩码上24位,然
阅读全文
摘要:TIME_WAIT 是主动关闭链接时形成的,等待2MSL时间,约4分钟。 主要是防止最后一个ACK丢失。 由于time_wait的时间会非常长,因此server端应尽量减少主动关闭连接 CLOSE_WAIT是被动关闭链接是形成的 , 按状态机,我方收到FIN,则由TCP实现发送ACK,因此进入CLO
阅读全文
摘要:1、如果对端调用close关闭了当前连接,服务端write返回-1,错误码设置成 EPIPE。SIGPIPE的默认处理方式是终止进程 2、如果对端程序直接crash或退出了(没有调用close), 服务端返回-1, 错误码设置成ECONNRESET
阅读全文
摘要:转发: http://aigo.iteye.com/blog/1939118 原文: 将一个socket 设置成阻塞模式和非阻塞模式,使用fcntl方法,即: 设置成非阻塞模式: 先用fcntl的F_GETFL获取flags,用F_SETFL设置flags|O_NONBLOCK; 即: flags
阅读全文