




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于TCP协议下的Linux网络编程的服务器端和客户端客户端:Client.c/* * *Name : Linux Client * *Date : 2014-11-10 * *Author : marksman * *Aim : Linux Client can send and receive * * message. * * */#include #include #include #include #include #include int main(int argc,char *argv)int socketfd,receive_socket;struct sockaddr_in s_add,c_add;unsigned short portnum = 0x22B8;int len;char buf100;/* *Create the socket */if(socketfd=socket(AF_INET,SOCK_STREAM,0)0)printf(Socket create error! n);exit(1);/* *set the address format */bzero(&s_add,sizeof(struct sockaddr_in);s_add.sin_family = AF_INET;s_add.sin_addr.s_addr = inet_addr(127.0.0.1);/change the string to 32-bit internet byte.s_add.sin_port=htons(portnum);if (connect(socketfd,(struct sockaddr *)(&s_add),sizeof(struct sockaddr)0)printf(Connect failure!n);return -1;elseprintf(Connect Success!n);/* *Using the loop to send and receive the message. */while(1)memset(buf,0,100);printf(Input message to send: );fgets(buf,100,stdin);len=send(socketfd,buf,strlen(buf)-1,0);if(len0)printf(send error!n);exit(1);else printf(Send Success! send is : %s n,buf);memset(buf,0,100);len=recv(socketfd,buf,100,0);if(len0)printf(recv error!n);exit(1);else if(0 = len)printf(client quit!n);exit(1);elseprintf(receive message is : %sn,buf);printf(-n);close(socketfd);服务器端:Server.c/* * *Name : Linux Server * *Date : 2014-11-10 * *Author : marksman * *Aim : Linux Server can send and receive * * message.It is atom system about * * Instant Messaging system. * * */#include #include #include #include #include #include #include int main(int argc,char *argv)int socketfd_listen,socketfd_connect;struct sockaddr_in server_addr,client_addr;unsigned short portnum = 0x22B8;int len ;char buf100;/* *Create the socket */if(socketfd_listen=socket(AF_INET,SOCK_STREAM,0)0)printf(Socket create error! n);exit(1);/* *set the address format */bzero(&server_addr,sizeof(struct sockaddr_in);server_addr.sin_family=AF_INET;server_addr.sin_addr.s_addr=htonl(INADDR_ANY);server_addr.sin_port=htons(portnum);if(bind(socketfd_listen,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr)0)printf(bind failure!n);return -1;printf(bind Success!n);if(listen(socketfd_listen,5)0)printf(Listen failure!n);return -1;len=sizeof(struct sockaddr);socketfd_connect = accept(socketfd_listen, (struct sockaddr *)(&client_addr), &len);if(socketfd_connect0)printf(accept fail !n);return -1;/* *Using the loop to send and receive the message. */while(1)memset(buf,0,100);len=recv(socketfd_connect,buf,100,0);if(len0)printf(recv error!n);exit(1);else if(0 = len)printf(the client quit!n);break;elseprintf(receive message is : %s n,buf);/memset(buf,0,100);/printf(Input message to send : );/fgets(buf,100,stdin);len=send(socketfd_connect,buf,strlen(buf)-1,0);if(len0)printf(Send error!n);exit(1);else printf(Send succeed send : %s n,buf);printf(-n);close(socketfd_listen);close(sock
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-浙江-浙江垃圾清扫与处理工一级(高级技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-河南-河南广播电视天线工二级(技师)历年参考题库含答案解析
- 2024版仿古建筑修复工程施工合同
- 2025年事业单位工勤技能-江西-江西广播电视天线工五级(初级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西计算机文字录入处理员二级(技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东热处理工一级(高级技师)历年参考题库典型考点含答案解析
- 2025年中级卫生职称-主管技师-心电学技术(中级)代码:387历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-北京-北京图书资料员五级(初级工)历年参考题库含答案解析
- 烯烃分离基础知识培训课件
- 2025年职业技能鉴定-铁路职业技能鉴定-铁路职业技能鉴定(铁路钢轨探伤工)初级历年参考题库含答案解析(5套)
- 粮食仓储(粮库)安全生产标准化管理体系全套资料汇编(2019-2020新标准实施模板)
- 喜茶运营管理手册和员工操作管理手册
- 比亚迪汉DM-i说明书
- 心肾综合征及其临床处理
- 普通高中课程方案
- 2022年山东高考生物试卷真题及答案详解(精校版)
- GB/T 38936-2020高温渗碳轴承钢
- 高考地理一轮复习课件 【知识精讲+高效课堂】 农业区位因素及其变化
- 教师专业发展与名师成长(学校师范专业公共课)
- 互通立交设计课件
- 生物竞赛辅导 动物行为学第七章 行为发育(38)课件
评论
0/150
提交评论