ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

socket服务器简易连接

2020-01-28 21:08:41  阅读:291  来源: 互联网

标签:lfd addr struct 简易 客户端 服务器 include socket


1.socket:创建socket伪文件生成文件描述符fd
2.bind: 给fd绑定端口和ip;
3.listen;给当前socket设置最大客户端链接
4.accept:阻塞等待客户端连接;生成客户端的fd,addr结构体(客户端端口,ip等内容)
5.read:读数据
6.write:写数据
7.close:关闭服务器的socket和客户端的socket;

#include<stdio.h>
  2 #include<stdlib.h>
  3 #include<string.h>
  4 #include<unistd.h>
  5 #include<sys/types.h>
  6 #include<sys/socket.h>
  7 #include<ctype.h>
  8 #include<netinet/in.h>
  9 #include<arpa/inet.h>
 10 #define SERVER_PORT 8000
 11 int main()
 12 {
 13         int lfd,cfd;
 14         struct sockaddr_in addr;
 15         struct sockaddr_in caddr;
 16         lfd = socket(AF_INET,SOCK_STREAM,0);//定义socket文件
 17 
 18         addr.sin_family=AF_INET;
 19         addr.sin_port = htons(8000);
 20         addr.sin_addr.s_addr = htonl(INADDR_ANY);
 21 
 22         bind(lfd,( struct sockaddr *)&addr,sizeof(addr));//将socket套接字绑定在固定端口和ip
 23 
 24         listen(lfd,128);//设置套接字的最大客户端连接数
 25 
 26         socklen_t socketlen = sizeof(caddr);
 27         int n = 0,i=0;
 28         char buf[BUFSIZ];
 29         cfd = accept(lfd,( struct sockaddr*)&caddr,&socketlen);//接收客户端连接
 30         while(1)
 31         {
 32                 n=read(cfd,buf,BUFSIZ);//读数据
 33                 for(i=0;i<n;i++)
 34                         buf[i]=toupper(buf[i]);
 35                 write(cfd,buf,n);//写数据
 36         }
 37         close(lfd);
 38         close(cfd);
 39         exit(1);
 40 }
YanWenCheng_ 发布了58 篇原创文章 · 获赞 15 · 访问量 9045 私信 关注

标签:lfd,addr,struct,简易,客户端,服务器,include,socket
来源: https://blog.csdn.net/YanWenCheng_/article/details/104102238

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有