TCP服务器接收数据的功能,难道不是一项长尾词的吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计854个文字,预计阅读时间需要4分钟。
当然可以,请提供您希望改写的伪原创开头内容,我将根据您的要求进行改写。
#includesys/types.h#includesys/socket.h#includestdio.h##include #include #include #include #include #include #include #include #include #include #include #include #include #include
int Socket(int domain,int type,int protocol); int Bind(int sockfd,struct sockaddr * my_addr,int addrlen); int Listen(int s,int backlog); int Accept(int s,struct sockaddr * addr,int * addrlen); void Deal_with_len(int recvid,char * readbuff); typedef struct sockaddr SA; //通用地址结构 typedef struct sockaddr_in SIN;//IPV4地址结构 //设备信息列表 typedef struct{ int fd; int devino; int flags; }FDFORDEV; //文件描述符与设备信息列表 FDFORDEV fdfordev[1024]; //app IP地址 端口号 int main(int argc,char**argv) { memset(fdfordev,0,sizeof(fdfordev)); //建立监听套接字 int socketid = Socket(AF_INET,SOCK_STREAM,0); //编写服务器信息 SIN my_addr; my_addr.sin_family = AF_INET; //IPV4协议 my_addr.sin_port = htons(atoi(argv[2]));//大端序 my_addr.sin_addr.s_addr= inet_addr(argv[1]);//IP地址 int reuse=1; setsockopt(socketid,SOL_SOCKET ,SO_REUSEADDR,(const char*)//允许套接字重用,主要用于服务器套接字,放在bind之前。 //绑定服务器信息 int addrlen = sizeof(SIN); Bind(socketid, (SA*) //监听 Listen(socketid,100); SIN client_addr; int client_len = sizeof(SIN); /*****************************epoll****************/ int epollfd = epoll_create(1024); printf("epollfd:%d\n",epollfd); struct epoll_event event; event.events = EPOLLIN; event.data.fd = socketid; int val = epoll_ctl(epollfd,EPOLL_CTL_ADD,socketid, if(val== -1) { perror("epoll_ctl"); exit(0); } //通信 while(1) { struct epoll_event events[10]; int count = epoll_wait(epollfd,events,10,-1); if(count > 0) { for(int i =0; i
版权声明:本文为m0_60098592原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。原文链接:blog.csdn.net/m0_60098592/article/details/119522333
本文共计854个文字,预计阅读时间需要4分钟。
当然可以,请提供您希望改写的伪原创开头内容,我将根据您的要求进行改写。
#includesys/types.h#includesys/socket.h#includestdio.h##include #include #include #include #include #include #include #include #include #include #include #include #include #include
int Socket(int domain,int type,int protocol); int Bind(int sockfd,struct sockaddr * my_addr,int addrlen); int Listen(int s,int backlog); int Accept(int s,struct sockaddr * addr,int * addrlen); void Deal_with_len(int recvid,char * readbuff); typedef struct sockaddr SA; //通用地址结构 typedef struct sockaddr_in SIN;//IPV4地址结构 //设备信息列表 typedef struct{ int fd; int devino; int flags; }FDFORDEV; //文件描述符与设备信息列表 FDFORDEV fdfordev[1024]; //app IP地址 端口号 int main(int argc,char**argv) { memset(fdfordev,0,sizeof(fdfordev)); //建立监听套接字 int socketid = Socket(AF_INET,SOCK_STREAM,0); //编写服务器信息 SIN my_addr; my_addr.sin_family = AF_INET; //IPV4协议 my_addr.sin_port = htons(atoi(argv[2]));//大端序 my_addr.sin_addr.s_addr= inet_addr(argv[1]);//IP地址 int reuse=1; setsockopt(socketid,SOL_SOCKET ,SO_REUSEADDR,(const char*)//允许套接字重用,主要用于服务器套接字,放在bind之前。 //绑定服务器信息 int addrlen = sizeof(SIN); Bind(socketid, (SA*) //监听 Listen(socketid,100); SIN client_addr; int client_len = sizeof(SIN); /*****************************epoll****************/ int epollfd = epoll_create(1024); printf("epollfd:%d\n",epollfd); struct epoll_event event; event.events = EPOLLIN; event.data.fd = socketid; int val = epoll_ctl(epollfd,EPOLL_CTL_ADD,socketid, if(val== -1) { perror("epoll_ctl"); exit(0); } //通信 while(1) { struct epoll_event events[10]; int count = epoll_wait(epollfd,events,10,-1); if(count > 0) { for(int i =0; i
版权声明:本文为m0_60098592原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。原文链接:blog.csdn.net/m0_60098592/article/details/119522333

