一个简单的socket监听的服务器实例
2017-09-26 16:29
369 查看
#include<sys/socket.h> #include<netinet/in.h> #include<arpa/inet.h> #include<signal.h> #include<unistd.h> #include<stdlib.h> #include<assert.h> #include<stdio.h> #include<string.h> #include<stdbool.h> static bool stop=false; static void handle_term(int sig){ stop=true; } int main(int argc, char *argv[]){ signal(SIGTERM,handle_term);//绑定SIGTERM终止信号的事件处理函数为handle_term if(argc<3){ printf("uage %s ip_address port_number backlog\n ", basename(argv[0])); return 1; } //获取参数 const char *ip=argv[1]; int port=atoi(argv[2]); int backlog=atoi(argv[3]); //创建socket,socket的协议族为PF_INET(ipv4),流服务,默认协议 int sock=socket(PF_INET, SOCK_STREAM,0); assert(sock>=0); //创建socket)address struct sockaddr_in address; bzero( &address, sizeof(address) ); //清0 address.sin_family = AF_INET; //地址的协议族设为tcp/ipv4 inet_pton(AF_INET,ip,&address.sin_addr);//把点分十进制转化成ipv4结构的网络字节序地址 address.sin_port=htons(port); //转化端口 int ret=bind(sock, (struct sockaddr * )&address , sizeof(address)); //绑定socket到socket_address assert(ret!=-1); ret=listen(sock,backlog);//监听端口 assert(ret!=-1); while(!stop){ sleep(1); } close(sock); return 0; }
相关文章推荐
- TCP/TP编程 - 一个简单的Linux下C写的socket服务器客户端程序
- Windows 上静态编译 Libevent 2.0.10 并实现一个简单 HTTP 服务器(图文并茂,还有实例下载)
- 【tcp网络编程】用Socket建立一个简单的文本转换服务器
- 使用Node.js实现一个简单的FastCGI服务器实例
- Socket 一个服务器监听多个客户端 功能实现
- JAVA编写的一个简单的Socket实现的HTTP响应服务器进阶版
- 一个不错的多线程Socket服务器简单例子
- 一个不错的多线程Socket服务器简单例子
- JAVA编写的一个简单的Socket实现的HTTP响应服务器
- go语言实现一个最简单的http文件服务器实例
- socket实例C语言:一个简单的聊天程序
- C# Socket编程 一个简单的Socket 客户端服务器通信架构
- JAVA编写的一个简单的Socket实现的HTTP响应服务器
- Python关于socket的一个小型服务器和客户机实例
- socket编程之C语言一个简单监听程序
- Linux Socket 事件触发模型 epoll 示例 这里会写一个用C语言的TCP服务器的完全实现的简单程序
- 一个简单的IOCP服务器实例
- 一个简单而又灵活的IOCP模块——完成端口通讯服务器(IOCP Socket Server)设计(四)
- 用JAVA实现一个简单地Socket服务器,可以实现发给指定对象
- JAVA编写的一个简单的Socket实现的HTTP响应服务器