随笔分类 -  socket相关知识

摘要:1、修订单个socket的缓冲区大小:通过setsockopt使用SO_RCVBUF来设置接收缓冲区,该参数在设置的时候不会与rmem_max进行对比校验,但是如果设置的大小超过rmem_max的话,则超过rmem_max的部分不会生效;2、修订linux系统udp缓冲区大小:通过rmem_max来... 阅读全文
posted @ 2014-10-17 02:19 咚咚锵锵 阅读(1466) 评论(0) 推荐(0)
摘要:1,udp丢包困扰几天的udp内网传输部分终于做通了,解决的关键就在于setsockopt的调用,设置接收缓冲。遇到的问题是这样的,主机端发送udp数据包: 应用层的包大小为1452byte大小,这样拆包是根据以太网的MTU为1500字节而考虑的(当然外网状态下并不一定就是以太网网络,路由MTU可能... 阅读全文
posted @ 2014-10-17 02:16 咚咚锵锵 阅读(6232) 评论(0) 推荐(0)
摘要:服务端处理1个客户端的例子运行结果:(1)while(accept+if(recv)) 情形执行服务端进程:[root@localhost single_link]# ./server [server]: begin[server]: loop......Client[127.0.0.1,49930... 阅读全文
posted @ 2014-09-21 18:57 咚咚锵锵 阅读(907) 评论(0) 推荐(0)
摘要:1, 如果服务端的Socket比客户端的Socket先关闭,会导致客户端出现TIME_WAIT状态,占用系统资源。所以,必须等客户端先关闭Socket后,服务器端再关闭Socket才能避免TIME_WAIT状态的出现。2, 在linux下写socket的程序的时候,如果尝试send到一个discon... 阅读全文
posted @ 2014-09-17 01:16 咚咚锵锵 阅读(44467) 评论(1) 推荐(0)
摘要:其它文档:http://www.cnitblog.com/zouzheng/archive/2010/11/25/71711.html(1)阻塞block 所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返... 阅读全文
posted @ 2014-09-17 01:07 咚咚锵锵 阅读(6355) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/RascallySnake/archive/2013/07/11/3185071.html一、selectwinsock中#include 原型intselect(intnfds,fd_set*readfds,fd_set*writefds,fd_set... 阅读全文
posted @ 2014-09-17 01:05 咚咚锵锵 阅读(343) 评论(0) 推荐(0)