通信
hfutrlj
这个作者很懒,什么都没留下…
展开
-
tcp套接字端口复用SO_REUSEADDR
如果tcp下不使用SO_REUSEADDR1.进程创建监听套接字socket1,并且建立了多个连接时。此时进程创建另一个套接字socket2,试图band同一个端口的时候,会报“Address already in use”的错误。2.杀死上述进程,重新启动,调用band重新绑定,建立套接字监听。这次邦定只有在bind前(两个socket绑定之前都需要指定)指定了SO_REUSEADDR时才能成功。(因为直接杀进程,没有显式关闭套接字来释放端口,会等待一段时间后才可以重新use这个关口,解决办法就原创 2022-02-19 17:34:41 · 911 阅读 · 0 评论 -
进程间通信——域套接字
域套接字1.1定义UNIX域socket实现本地进程间通信,需要一个进程作为服务器端,一个进程作为客户端。对于sockaddr_un结构,重点是给它提供一个bind()函数生成的socket类型文件的路径,即sockaddr_un.sun_path的值。并且客户端与服务器端的这个sockaddr_un结构的sun_path是一致的。经过bind,listen,accept,和connec...转载 2020-05-06 19:28:50 · 498 阅读 · 0 评论 -
socket编程——tcp通信
服务端(gcc)1.绑定ip和端口(band)2.监听(listen)3.连接客户端(accept)4.主线程收发消息#include<stdio.h>#include<stdlib.h>#include<sys/socket.h>int main(){ int listen_sock = socket(AF_INET, SOCK_STREAM, 0); if(listen_sock < 0) {原创 2021-12-28 20:47:20 · 1423 阅读 · 0 评论