tcp接收连接
来源:互联网 发布:网店排名优化 编辑:程序博客网 时间:2024/05/22 02:21
#include<signal.h>#include<assert.h>#include<sys/socket.h>#include<arpa/inet.h>#include<netinet/in.h>#include<unistd.h>#include<errno.h>static bool stop=false;static void handle_term(int sig){stop=true;}int main(int argc,char * argv[]){signal(SIGTERM,handle_term);if(argc<=2){printf("usage:%s ip address port_number \n",basename(argv[0]));return 1;}const char * ip=argv[1];int port=atoi(argv[2]);//int backlog=atoi(argv[3]);int sock=socket(PF_INET,SOCK_STREAM,0);assert(sock>=0);struct sockaddr_in address;bzero(&address,sizeof(address));address.sin_family=AF_INET;inet_pton(AF_INET,ip,&address.sin_addr);address.sin_port=htons(port);int ret=bind(sock,(struct sockaddr*)&address,sizeof(address));assert(ret!=-1);ret =listen(sock,5);assert(ret!=-1);sleep(20);struct sockaddr_in client;socklen_t client_addrlength=sizeof(client);int connfd=accept(sock,(struct sockaddr*)&client,&client_addrlength);if(connfd<0)printf("errno is:%d\n",errno);else{char remote[INET_ADDRSTRLEN];printf("connected with ip:%s and port:%d\n",inet_ntop(AF_INET,&client.sin_addr,remote,INET_ADDRSTRLEN),ntohs(client.sin_port));close(connfd);}close(sock);return 0;}
accept只是从监听队列中取出连接,而不论链接处于何种状态(established 和close_wait状态),更不关心网络状况的变化。
0 0
- tcp接收连接
- TCP连接接收过程 connect
- 十、连接监听器,接收tcp连接
- TCP服务器接收多个客户端连接
- libevent (二) 接收TCP连接
- libevent(二)libevent 接收TCP连接
- TCP 接收连接及消息的收发
- TCP连接建立系列 — 服务端接收SYN段
- Linux TCP服务端接收连接数量突破65535的方法
- windows tcp连接 recv()立即返回 接收字符为空
- 内核中的TCP的追踪分析-7-TCP(IPV4)的socket接收连接
- C# 中TCP连接通过数据接收来判断连接是否断开
- libevent学习笔记【使用篇】——8. 连接监听:接收TCP连接
- tcp-ip : tcp接收数据
- Tcp异步接收发送
- TCP二进制流接收
- tcp数据包接收
- iOS tcp 接收数据处理
- 字节流转换为字符流
- imx6 fec eth0 FIFO_RD_AUX_LSB read fails
- 第九周项目一复数类中运算符重载续
- poi 解析excel
- ubuntu下jthread 和jrtplib的安装
- tcp接收连接
- 第十周上机项目5方程也是类
- 单片机程序设计中的“分层思想”
- (ros:robot operating system)urdf_to_collada出现错误
- 运算符重载拓展
- 第8周项目2-运算符重载
- Java之美[从菜鸟到高手演变]之设计模式四
- 第9周项目2-Time类中的运算符重载(续)
- nginx