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