



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络编程的流程:客户端:1、 创建一个socket;2、 绑定socket(IP,端口号);因为在connect()中已经绑定了,所以不需要用blind()函数来绑定。serv_addr.sin_family=AF_INET;serv_addr.sin_port=htons(MYPORT); /端口号也就是进程,相当于应用程序的编号。端口号要与服务端的一致,所以绑定的端口号是服务端的端口号serv_addr.sin_addr.s_addr=inet_addr(IP); /绑定的IP是本机的IP3、 发送建立连接请求connect();4、 收到连接响应;5、 发送数据send();6、 关闭socket, close(sock_fd)。服务端端:1、 创建一个socket;2、 绑定socket(IP,端口号),blind();my_addr.sin_family = AF_INET;my_addr.sin_port = htons(MYPORT); /绑定的端口号是自己的端口号my_addr.sin_addr.s_addr = INADDR_ANY; / IP是客户端任意一个IP3、 侦听来自客户端的连接请求,listen();4、 有客户端连接请求,为建立请求的客户端创建一个socket,返回连接响应,accept();5、 接受客户端发送的数据,recv();6、 关闭,close(new_fd)。#include #include #include #include #include #include #include #include #define MYPORT 3999 /listening port#define BACKLOG 10 /max connect requests#define MAXDATASIZE 100 /*max data volume */#define IP 127.0.0.1main(int argc,char *argv) int sock_fd,numbytes;/ char *buf;/ buf=(char *)malloc(20); char buf20; struct hostent *host; struct sockaddr_in serv_addr;/*socket*/ if(sock_fd=socket(AF_INET,SOCK_STREAM,0)=-1) perror(socket creat error);exit(1); serv_addr.sin_family=AF_INET; serv_addr.sin_port=htons(MYPORT); / serv_addr.sin_addr=inet_addr(IP); serv_addr.sin_addr.s_addr=inet_addr(IP); bzero(&(serv_addr.sin_zero),8);/*connect*/ if(connect(sock_fd,(struct sockaddr *)&serv_addr,sizeof(struct sockaddr)=-1) perror(connect error);exit(1); printf(Please enter the string:n); gets(buf);/*send*/ if(numbytes=send(sock_fd,buf,strlen(buf),0)=-1) perror(send error);exit(1); printf(send:%dn,numbytes); close(sock_fd); exit(0);#include #include #include #include #include #include #include #include #define MYPORT 3999/listening port#define BACKLOG 10/max connect requests#define MAXDATASIZE 100/*max data volume */main()int sock_fd, new_fd, numbytes;/*sock_fd:listening socket;new_fd:data socket */struct sockaddr_in my_addr;/*server address */struct sockaddr_in their_addr;/*client address */int sin_size;char bufMAXDATASIZE;/*创建socket*/if (sock_fd = socket(AF_INET, SOCK_STREAM, 0) = -1) perror(socket create error);exit(1);my_addr.sin_family = AF_INET;my_addr.sin_port = htons(MYPORT);my_addr.sin_addr.s_addr = INADDR_ANY;bzero(&(my_addr.sin_zero), 8);if (bind (sock_fd, (struct sockaddr *) &my_addr, sizeof(struct sockaddr) = -1) perror(bind error);exit(1);printf(bind successn); if (listen(sock_fd, BACKLOG) = -1) perror(listen error);exit(1);/*accept*/while (1) sin_size = sizeof(struct sockaddr_in);if (new_fd = accept(sock_fd, (struct sockaddr *) &their_addr, &sin_size) = -1) perror(accept error);continue;printf(received a connect from:%sn, inet_ntoa(their_addr.sin_addr);if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林省白山市商贸城消防安全测试题十七(含答案)
- 2025-2030中国酸奶制品消费行为调查及新产品开发方向预测报告
- 2025-2030中国速冻食品品质改良剂市场需求与供应商评估报告
- 2025-2030中国进口LNG接收站运营效率与区域协调发展战略
- 2025-2030中国装配式建筑政策支持与市场需求预测报告
- 2025-2030中国药物递送系统技术创新与应用场景拓展报告
- 2025-2030中国脑机接口技术临床应用前景与伦理合规框架研究
- 2025-2030中国老年保健饮料功能需求与产品开发方向报告
- 2025-2030中国精酿啤酒技术创新与产品差异化发展评估
- 2025-2030中国管理咨询行业国际化竞争策略与本土化发展路径分析
- 23G409先张法预应力混凝土管桩
- 早期工业时期英国工艺美术运动设计课件
- 《江苏住宅物业管理服务标准》(DB32T538-2002)
- 装饰装修质量通病防治质量通病防治措施
- 物理课件电源和电流
- 《无人机载荷与行业应用》教学课件合集
- 《西安交通大学》课件
- 搜索引擎营销案例分析
- 华信惠悦GGS全球职等系统
- 肝血管瘤患者的护理查房
- 吉塔行星模拟课程
评论
0/150
提交评论