当前位置: 首页 > news >正文

网站建设文化策划仙桃做网站的公司

网站建设文化策划,仙桃做网站的公司,wordpress博客主题下载,如何用织梦做网站目录 1、前言 2、函数介绍 2.1 socket函数 与 通信域 2.2 bind函数 与 通信结构体 2.2.1 domain通信地址族 与 通信结构体 2.2.2 IPv4地址族结构体 2.2.3 通用地址族结构体 2.2.4 示例#xff1a;为套接字fd绑定通信结构体addr 2.3 listen函数 与 accept函数 …目录 1、前言 2、函数介绍 2.1 socket函数 与 通信域  2.2 bind函数 与 通信结构体  2.2.1 domain通信地址族 与 通信结构体  2.2.2 IPv4地址族结构体  2.2.3 通用地址族结构体  2.2.4 示例为套接字fd绑定通信结构体addr  2.3 listen函数 与 accept函数  3、代码实现 3.1 服务器端代码  3.2 客户端代码  3.3 构建Makefile  4、实验结果  1、前言 使用Linux操作系统实现TCP的客户端及服务器 TCP通信的实现过程示意图如下 2、函数介绍 2.1 socket函数 与 通信域  #include sys/types.h #include sys/socket.h int socket(int domain, int type, int protocol);domain: 指定通信域通信地址族AF_INET: 使用IPv4 互联网协议AF_INET6: 使用IPv6 互联网协议type: 指定套接字类型TCP唯一对应流式套接字所以选择SOCK_STREAM(数据报套接字SOCK_DGRAM)protocol: 指定协议流式套接字唯一对应TCP所以无需要指定协议设为0即可。 2.2 bind函数 与 通信结构体  int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);sockfd:socket函数生成的套接字addr:通信结构体addrlen:通信结构体的长度 2.2.1 domain通信地址族 与 通信结构体  2.2.2 IPv4地址族结构体  struct sockaddr_in {sa_family_t sin_family; /* 地址族: AF_INET */in_port_t sin_port; /* 网络字节序的端口号 */struct in_addr sin_addr; /*IP地址结构体 */ }; /* IP地址结构体 */ struct in_addr {uint32_t s_addr; /* 网络字节序的IP地址 */ };2.2.3 通用地址族结构体  struct sockaddr {sa_family_t sa_family;char sa_data[14]; }2.2.4 示例为套接字fd绑定通信结构体addr  addr.sin_family AF_INET; addr.sin_port htons(5001); addr.sin_addr.s_addr 0;//本机地址 bind(fd, (struct sockaddr *)addr, sizeof(addr) );2.3 listen函数 与 accept函数  /*监听套接字*/ int listen(int sockfd, int backlog); /*处理客户端发起的连接生成新的套接字*/ int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);sockfd: 函数socket生成的套接字addr:客户端的地址族信息addrlen:地址族结构体的长度  3、代码实现 3.1 服务器端代码  #include stdio.h #include sys/socket.h #include sys/types.h #include arpa/inet.h #include stdlib.h #include unistd.h #include string.h#define BACKLOG 5int main(int argc,char *argv[]) {int fd,newfd,ret;char buf[BUFSIZ] {};//BUFSIZ 8142struct sockaddr_in addr;if(argc 3){printf(%saddrport\n,argv[0]);exit(0);}/*创建套接字*/fd socket(AF_INET,SOCK_STREAM,0);if(fd 0){perror(socket);exit(0);}addr.sin_family AF_INET;addr.sin_port htons(atoi(argv[2]));if(inet_aton(argv[1],addr.sin_addr)0){fprintf(stderr,Invalid address\n);exit(0);}/*绑定通信结构体*/if(bind(fd,(struct sockaddr *)addr,sizeof(addr)) -1){perror(bind);exit(0);}/*设置套接字为侦听模式*/if(listen(fd,BACKLOG) -1){perror(listen);exit(0);}/*接受客户端的连接请求生成新的用于和客户端通信的套接字*/newfd accept(fd,NULL,NULL);if(newfd 0){perror(accept);exit(0);}printf(BUFSIZ %d\n,BUFSIZ);while(1){memset(buf,0,BUFSIZ);ret read(newfd,buf,BUFSIZ);if(ret 0 ){perror(read);exit(0);}else if(ret 0)break;printf(buf %s\n,buf);}close(newfd);close(fd);return 0; }3.2 客户端代码  #include stdio.h #include sys/socket.h #include sys/types.h #include arpa/inet.h #include stdlib.h #include unistd.h #include string.h#define BACKLOG 5 int main(int argc,char *argv[]) {int fd;struct sockaddr_in addr;char buf[BUFSIZ] {};if(argc 3){printf(%saddrport\n,argv[0]);exit(0);}/*创建套接字*/fd socket(AF_INET,SOCK_STREAM,0);if(fd 0){perror(socket);exit(0);}addr.sin_family AF_INET;addr.sin_port htons(atoi(argv[2]));if(inet_aton(argv[1],addr.sin_addr)0){fprintf(stderr,Invalid address\n);exit(0);}/*向服务端发起连接请求*/if(connect(fd,(struct sockaddr *)addr,sizeof(addr)) -1){perror(connect);exit(0);}while(1){printf(Input-);fgets(buf,BUFSIZ,stdin);write(fd,buf,strlen(buf));}close(fd);return 0; }3.3 构建Makefile  Makefile文件如下  CCgcc CFLAGS-Wall all:client serverclean:rm client server 使用make去构建服务器和客户端程序。 在服务器端传入ip地址和端口号本机地址写0端口号写5001。 ./server 0 5001 在客户端传入ip地址和端口号连接地址写127.0.0.1本地回环地址端口号写5001。  ./client 127.0.0.1 5001 4、实验结果  通过截图可以看到测试成功客户端发送消息服务器端可以接收并打印。
http://www.hkea.cn/news/14401444/

相关文章:

  • 开发一个网站大概多少钱百度怎么搜索图片
  • 上海网站营销公司沛县微网站开发
  • 一个网站的制作步骤移动网站打不开
  • 如何使用云服务建设网站直链平台
  • 企业建设网站公司排名盐城做企业网站多少钱
  • 系统开发总结站长工具seo综合查询怎么用
  • 有关图书网站建设策划书怎样注册企业邮箱免费
  • 石狮市住房和城乡建设局网站做网站用c 还是js
  • 温州建站费用交河做网站价格
  • 网站建设和软件开发三水营销网站开发
  • 网站的建设与推广wordpress 公式编辑器
  • 抚州做网站价格多少珠海市住房和城乡建设局网站
  • 杏坛餐饮网站建站网站备案掉了什么原因
  • 德育工作网站建设方案自助建站广告发布
  • 国外设计网站door邀请注册推广赚钱的app
  • 巩义网站建设托管黑龙江建设网官网登陆
  • 中国网站建设公司前十名专用车网站建设
  • 云主机做网站域名打不开羽毛球赛事2022
  • 有人上相亲网站做传销燕窝怎样进行公司网站建设
  • 加强门户网站建设香河建设局网站
  • 搞钱天津seo网络营销
  • 海口网站建设做网站定制化网站建设
  • 网站登录界面源码北京发布最新消息今天
  • 然后做网站嘉定区网站建设
  • 网站开发用什么编程郑州网站优化排名
  • 山东网站建设哪家便宜网站开发平均工资
  • 企业网站建设计划书网页设计动画网站
  • 凡科免费做的网站漳州网站建设网站运营
  • 马云做网站最开始怎么盈利的可喜安cms系统
  • 企业门户网站开发平台的设计网站开发需要看相关书籍