socket设置地址复用

/*Setsockopt()*/
void Setsockopt(int listenfd)
{
  int reuse = 1;
  if (setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse)) < 0)
    ERR_EXIT("setsockopt");
}

时间: 2024-08-29 01:36:19

socket设置地址复用的相关文章

linux网络编程函数——地址复用setsockopt()

1.setsockopt()作用及简介 socket关闭之后并不会立即收回,而是要经历一个TIME_WAIT的阶段.此时对这个端口进行重新绑定就会出错.要想立即绑定端口,需要先设置 SO_REUSEADDR. 或者在closesocket的时候,使用setsockopt设置SO_DONTLINGER.才会消除TIME_WAIT时间,用setsockopt()函数即可实现. #include <sys/types.h>          /* See NOTES */#include <s

UNIX网络编程——套接字选项(心跳检测、绑定地址复用)(转)

/* 设置套接字选项周期性消息检测连通性 心跳包. 心博.主要用于长连接. * 参数:套接字, 1或0开启, 首次间隔时间, 两次间隔时间, 断开次数 */ void setKeepAlive( int iSockfd , int iSockAttrOn, socklen_t iIdleTime , socklen_t iInterval , socklen_t iCount ){ setsockopt( iSockfd , SOL_SOCKET , SO_KEEPALIVE , (const

一起talk C栗子吧(第一百五十五回:C语言实例--获取socket通信地址)

各位看官们,大家好,上一回中咱们说的是socket通信地址系统调用的例子,这一回咱们说的例子是:获取socket通信地址 .闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,我们前面的章回中介绍了与套接字通信地址相关的系统调用.还是哪句话,光说不练,不是我们的风格,今天我就通过具体的代码来演示如何使用这些系统调用来获取套接字的通信地址. 下面是使用该函数的详细步骤及其代码.我通过代码+注释的方式展示给大家,以方便大家更加好地理解该函数的用法. char * host = "localh

一起talk C栗子吧(第一百五十四回:C语言实例--socket通信地址系统调用二)

各位看官们,大家好,上一回中咱们说的是socket通信地址系统调用的例子,这一回咱们继续说该例子.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,我们在上一回介绍的通信地址系统调用有效地解决了数据存储方式的问题,不过,还有一个系统调用也可以解决这种问题,这一回我们将介绍该系统调用:getaddrinfo. 函数原型 该系统调用从其名字上看是用来获取地址的信息,这里的地址主要指套接字通信地址.它获取到的地址信息不需要进行字节序转换,我们可以直接用来进行套接字通信.不过,我们不能只看名字

服务器编程心得(四)—— 如何将socket设置为非阻塞模式

1. windows平台上无论利用socket()函数还是WSASocket()函数创建的socket都是阻塞模式的: SOCKET WSAAPI socket( _In_ int af, _In_ int type, _In_ int protocol ); SOCKET WSASocket( _In_ int af, _In_ int type, _In_ int protocol, _In_ LPWSAPROTOCOL_INFO lpProtocolInfo, _In_ GROUP g,

C/C++网络编程在windows和linux中将socket设置为阻塞和非阻塞

在 socket编程中,对于socket的读写默认都是阻塞的,但有的情况我们需要将其设置为非阻塞,比如做多路复用,或者通过select实现连接超时等功能,将socket设置为非阻塞,在windows和linux中的接口有所不同,在windows中使用ioctlsocket函数,在linux中使用 fcntl函数,下面我们做一个跨平台设置阻塞的函数SetBlock. bool SetBlock(int sock,bool isblock) { int re = 0; //通过宏区分windows和

一起talk C栗子吧(第一百五十三回:C语言实例--socket通信地址系统调用一)

各位看官们,大家好,上一回中咱们说的是计算机中大小端的例子,这一回咱们说的例子是socket通信地址的系统调用 .闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,我们在前面的章回中介绍了套接字的通信地址,这一回中我们将介绍操作套接字通信地址的系统调用.大家都知道套接字的通信地址与套接字的域有关,接下来,我们依据套接字的通信域分别进行介绍. AF_UNIX域的通信地址 AF_UNIX域的通信地址本质上是文件的目录,文件目录存储在本地计算机中,而且使用该域通信时,通信双方都位于同一台计算

一起talk C栗子吧(第一百五十一回:C语言实例--socket通信地址)

各位看官们,大家好,上一回中咱们说的是socket通信接口的例子,这一回咱们说的是socket通信地址.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,我们使用socket通信时需要知道通信的地址,这好比我们发电子邮件时需要有一个邮件地址一样.其实我们在介绍socket通信接口时就提到过通信地址,只是没有详细介绍而已,当时还有客户提问呢.今天我们将详细介绍socket的通信地址. socket的通信地址主要是用来标识通信双方,用程序的观点来看,就是用来标识程序中通信的计算机以及其进程

asio socket设置 server地址与端口的两种方式

1. 用解释器的方法, 常用来解析域名, 如 // query("www.163.com","80"), 也可以 query("www.163.com","telnet") // echo          7/tcp// ftp           21/tcp                 # File Transfer Protocol (Control)// telnet        23/tcp