已阅读5页,还剩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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 品牌建设标准化流程与指南
- 合规管理风险防控承诺书范文4篇
- 企业创新激励项目选择评估模型工具
- 客服工作流程化自动回复模板
- 生鲜配送物流优化方案
- 质量管理体系文件与质量记录模板
- 乡土特色文化产品守护承诺函3篇范文
- 品牌宣传活动策划执行工具
- 我学会了做饭作文600字(12篇)
- 建筑施工安全生产操作规程大全
- 2026环艺省考试题及答案
- Unit4+Exploring+Poetry+Reading+课件-2025-2026学年高中英语译林版选择性必修第一册
- 城南旧事导读课件
- 国开2025年《行政领导学》形考作业1-4答案
- 医疗器械质量管理体系文件范本与流程
- 2025-2026学年译林版(三起)(2024)小学英语四年级上册(全册)知识点复习要点归纳
- 玻璃升降器拆装与检修课件
- 东南亚护肤品电商行业市场洞察(2025年8月版)
- T-CSER007-2024煤基固废人造土壤基质用于盐碱地改良的技术规范编制说明
- GJB9764-2020可编程逻辑器件软件文档编制规范
- 热催化转化-洞察及研究
评论
0/150
提交评论