好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

电子科技大学网络编程作业(字符反转).docx

4页
  • 卖家[上传人]:des****85
  • 文档编号:260438461
  • 上传时间:2022-02-28
  • 文档格式:DOCX
  • 文档大小:68.24KB
  • / 4 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 精选优质文档-----倾情为你奉上网络编程作业2要求:客户端:l 从命令行读入服务器的IP地址;并连接到服务器;l 循环从命令行读入一行字符串,并传递给服务器,由服务器对字符串反转,并将结果返回客户程序;l 客户程序显示反转后的字符串;服务器端:l 接收客户的连接请求,并显示客户的IP地址和端口号;l 接收客户传来的字符串,反转后传递给客户;实验过程:服务器端程序:#include #include #include #include #include #include #include #include #define PORT 9999#define BACKLOG 1#define MAXDATASIZE 100int main(void){ int listenfd, connectfd,i,n,m; char buf[MAXDATASIZE],rever[MAXDATASIZE]; struct sockaddr_in server, client; int sin_size; if((listenfd=socket(AF_INET, SOCK_STREAM, 0))==-1) { perror("Create socket failed."); exit(-1); } int opt = SO_REUSEADDR; setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)); bzero(&server, sizeof(server)); server.sin_family = AF_INET; server.sin_port = htons(PORT); server.sin_addr.s_addr = htonl(INADDR_ANY); if (bind(listenfd, (struct sockaddr *)&server, sizeof(struct sockaddr))==-1) { perror("Bind error."); exit(-1); } if (listen(listenfd, BACKLOG) == -1) { perror("listen error."); exit(-1); } sin_size = sizeof(struct sockaddr_in); while(1) { if ((connectfd = accept(listenfd, (struct sockaddr *)&client, &sin_size)) == -1) { perror("accept error."); exit(-1); } printf("You get a connection from %s:%d\n", inet_ntoa(client.sin_addr),client.sin_port); send(connectfd, "Welcome to my server.\n", 22, 0); while((n=read(connectfd,buf,MAXDATASIZE))>0) { puts(buf); m=n; n--; for(i=0;i#include #include #include #include #include #include #define PORT 9999#define MAXDATASIZE 100int main(int argc, char *argv[]){ int i, fd, numbytes; char buf[MAXDATASIZE], sendstr[MAXDATASIZE], recstr[MAXDATASIZE]; struct hostent * he; struct sockaddr_in server; if (argc != 2) { printf("Usage: %s \n", argv[0]); exit(-1); } if ((he = gethostbyname(argv[1])) == NULL) { perror("gethostbyname error."); exit(1); } if ((fd = socket(AF_INET, SOCK_STREAM, 0)) == -1) { perror("Create socket failed."); exit(1); } bzero(&server, sizeof(server)); server.sin_family = AF_INET; server.sin_port = htons(PORT); server.sin_addr = *((struct in_addr *) he->h_addr); if (i=connect(fd, (struct sockaddr *)&server, sizeof(struct sockaddr)) == -1) { perror("connect failed."); exit(1); } if( ((numbytes = recv(fd, buf, MAXDATASIZE, 0)) == -1)) { perror("recv error."); exit(1); } buf[numbytes] = '\0'; printf("Server Message: %s",buf); while(i!= -1) { printf("Please input a string:"); gets(sendstr); write(fd,sendstr,strlen(sendstr)+1); read(fd,recstr,MAXDATASIZE); puts(recstr); } close(fd);}实验结果:专心---专注---专业。

      点击阅读更多内容
      相关文档
      高等学校学生手册.doc 2025年区教育系统招聘编外教师储备人才事业单位考试押题.docx 2025年秋季青岛版三年级数学上册认识轴对称现象教学课件.pptx 2025年秋季青岛版三年级数学上册用乘法估算解决问题教学课件.pptx 2025年秋季青岛版三年级数学上册两、三位数乘一位数的笔算(不进位)教学课件.pptx 2025年秋季青岛版三年级数学上册1200张纸有多厚教学设计范文.docx 2025年秋季青岛版三年级数学上册多位数除以一位数教学课件.pptx 2025年秋季青岛版三年级数学上册认识平移、旋转现象教学课件.pptx 2025年秋季青岛版三年级数学上册多位数乘一位数教学设计范本.docx 2025年秋季青岛版三年级数学上册认识平移与旋转教学设计范文.docx 2025年秋季青岛版三年级数学上册乘数中间有0或末尾有0的乘法教学课件.pptx 2025年秋季青岛版三年级数学上册两位数乘一位数的笔算(进位)教学课件.pptx 2025年秋季青岛版三年级数学上册《两、三位数乘一位数的笔算(不进位)》教学设计与意图.docx 2025年秋季青岛版三年级数学上册我学会了吗教学课件.pptx 2025年连云港市妇幼保健院招聘专业技术人员考试笔试试题.docx 2025年深圳市大鹏新区发展和财政局招聘考试笔试试卷.docx 2025年绵阳市梓潼县财政投资评审中心招聘考试试题.docx 2025年来宾市妇幼保健院招聘考试笔试试题.docx 2025年无极县教育系统招聘教师考试笔试试卷.docx 2025年灵山县第三中学调配教师考试笔试试题.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.