建立TCP服务器步骤:建立socket对象,设置socket选项,绑定到一个端口,侦听连接。一、建立连接。s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)二、设置选项(可以不用)s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)具体选项可看socket(7)手册三、绑定端口s..
分类:
其他好文 时间:
2014-09-12 02:27:03
阅读次数:
140
最近在使用國人自己的實時作業系統rt_thread,在stm32f103上寫一些應用。其中使用到了網絡編程。 當仁不讓,最基本的select()逃不掉;setsockopt()也逃不掉。下面就把自己的使用情況記錄如下。 先說說select()函數。 其實它不限於網絡平台,主要是把永...
分类:
其他好文 时间:
2014-08-15 22:24:59
阅读次数:
2389
/* 使地址马上可以重用 */ int nRet = 1; if(SOCKET_ERROR==setsockopt(m_ls...
分类:
其他好文 时间:
2014-08-08 12:21:05
阅读次数:
148
功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示...
分类:
其他好文 时间:
2014-08-07 22:47:15
阅读次数:
352
之前一直没明白setsockopt的作用。原来是用来设置socket的属性。setsockopt设置SO_REUSEADDR。socket关闭之后并不会立即收回,而是要经历一个TIME_WAIT的阶段。windows下最多可以达到4分钟。所以在这个时候对这个端口进行重新绑定就会出错。所以需要先设置S...
分类:
其他好文 时间:
2014-08-07 22:43:05
阅读次数:
375
int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen);s(套接字): 指向一个打开的套接口描述字level:(级别): 指定选项代码的类型。SOL_SOCKET: 基本套接口IPPROTO_IP: I...
分类:
其他好文 时间:
2014-07-29 17:25:42
阅读次数:
199
遇到如题的问题,google了一番,找到了解决方法,写下来备用问题:udp发送数据时候报错sendto error : Permission denied改正方法:在创建了套接字后,加上下列代码:int on=1; setsockopt(sock,SOL_SOCKET,SO_REUSEADDR | ...
分类:
其他好文 时间:
2014-07-12 16:01:00
阅读次数:
222
int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen);s(套接字): 指向一个打开的套接口描写叙述字level:(级别): 指定选项代码的类型。SOL_SOCKET: 基本套接口IPPROTO_IP:...
分类:
其他好文 时间:
2014-07-06 22:01:36
阅读次数:
244
linux和windows下用setsockopt设置SO_SNDTIMEO,SO_RCVTIMEO的参数的一点区别 UDP的socket在某些情况:如对方关闭时,本地可能sendto不出去数据,然后recvfrom就会被阻塞,这时就需要设置 这两个参数的值提高程序质量。linux: struct....
分类:
其他好文 时间:
2014-06-26 00:38:51
阅读次数:
504
之前一直对tcp keepalive选项理解有误,以为通过setsockopt函数设置SO_KEEPALIVE和相关参数后该socket则使用设置的keepalive相关参数否则使用系统默认的:keepalive配置(如下)root@xxx-KVM:/# sysctl -a | grep keepn...
分类:
其他好文 时间:
2014-06-25 09:37:09
阅读次数:
238