我们在做socket的开发的时候,经常会遇到这个错误:通常每个套接字地址 (协议/网络地址/端口)只允许使用一次 错误指示很明确:通信端口被占用了,导致通信无法进行。 但为什么端口被占用了呢?什么端口被占用了? 这里其实有一个大前提:你的程序中有没有指定socket通信端口? 如果指定了,解决办法很 ...
分类:
其他好文 时间:
2017-01-09 00:02:28
阅读次数:
699
addrinfo结构体定义如下: 其中: ai_addrlen: 指向的缓冲区的长度(以字节为单位)。ai_canonname: 主机的规范名称。ai_addr: 指向 sockaddr 结构的指针。每个返回的addrinfo结构中的ai_addr成员指向一个填充的套接字地址结构。 每个返回的add ...
分类:
其他好文 时间:
2016-12-03 18:42:16
阅读次数:
352
有两种解决方法,一种是加入try{}catch(){},程序就不会抱错了;一种是在设置好监听SOCKET后,将SOCKET的属性设置为可重复使用地址,如://创建监听SOCKET //设置SOCKET允许多个SOCKET访问同一个本地IP地址和端口号 ...
分类:
其他好文 时间:
2016-10-13 16:55:41
阅读次数:
155
深入理解基本套接字编程 随着网络编程(C/C++)的学习,发现自己对于基本套接字编程有些细节还是不太清楚,然后又查看了对应的书籍和资料,趁着这段时间把这些基础知识梳理了一下,便于自己回顾,同时大家也可以作为参考 :) ~ 套接字地址结构 sockaddr_in是网络套接字地址结构,大小为16字节,定 ...
分类:
其他好文 时间:
2016-09-06 07:55:13
阅读次数:
1242
随着网络编程(C/C++)的学习,发现自己对于基本套接字编程有些细节还是不太清楚,然后又查看了对应的书籍和资料,趁着这段时间把这些基础知识梳理了一下,便于自己回顾,同时大家也可以作为参考 :) ~ 套接字地址结构 sockaddr_in是网络套接字地址结构,大小为16字节,定义在<netinet/i ...
分类:
其他好文 时间:
2016-09-05 07:59:22
阅读次数:
211
IPv4套接口地址结构 IPv4套接口地址结构通常也称为“网际套接字地址结构”,它以“sockaddr_in”命名,定义在头文件中 LINUX结构下的常用结构,一般创建套接字的时候都要将这个结构里面的值进行初始化 struct sockaddr_in { sa_family_t sin_family ...
分类:
其他好文 时间:
2016-08-14 14:44:02
阅读次数:
392
套接字结构一般从内核到进程.从进程到内核,其中从内核到进程是值-结果参数的例子地址转换函数推荐使用inet_ntop,inet_pton适用于ipv4跟ipv6套接字地址结构struct sockaddr_in{ uint8_t sin_len;//长度 posix规范不需要这个sa_family_... ...
分类:
其他好文 时间:
2016-08-10 06:26:49
阅读次数:
229
>TCP协议位于传输层,是一种面向连接的可靠的传输协议>socket(套接字):是IP地址与端口号的统称>套接字的基本结构structsockaddr这个结构用来存储套接字地址结构体的定义structsockaddr{unsignedshortsa_family;/*address族,AF_xxx*/harsa_data[14];/*14bytes的协议地..
分类:
其他好文 时间:
2016-08-08 01:09:35
阅读次数:
165
套接字接口(socket interface)是一组函数,它们和Unix I/O函数结合起来,用以创建网络应用。大多数现代系统上都实现套接字接口,包括所有的Unix变种、Windows和Macintosh。 1.套接字的基本结构 struct sockaddr 这个结构用来存储套接字地址。 数据定义 ...
分类:
其他好文 时间:
2016-07-31 15:39:26
阅读次数:
176
linux的套接字部分比较容易混乱,在这里稍微总结一下。 地址转换函数在地址的文本表达式和它们存放在套接字地址结构中的二进制值进行转换。 地址转换函数有四个:其中inet_addr 和 inet_ntoa适用于IPv4,inet_pton 和 inet_ntop同时适于用IPv4和IPv6。 套接字 ...
分类:
其他好文 时间:
2016-06-26 01:53:32
阅读次数:
333