辽宁营销型网站建设,做网站什么内容,企业网络需求分析报告,网站排名与什么有关系文章目录 4.15 TCP通信实现#xff08;服务器端#xff09;4.16 TCP通信实现#xff08;客户端#xff09; 4.15 TCP通信实现#xff08;服务器端#xff09;
// TCP 通信的服务器端// TCP 通信的服务器端
#include stdio.h
#include arpa/inet.h
#incl… 文章目录 4.15 TCP通信实现服务器端4.16 TCP通信实现客户端 4.15 TCP通信实现服务器端
// TCP 通信的服务器端// TCP 通信的服务器端
#include stdio.h
#include arpa/inet.h
#include unistd.h
#include string.h
#include stdlib.hint main(){//1、创建socket用于监听int lfd socket(AF_INET,SOCK_STREAM,0);if(lfd -1){perror(socket);exit(0);}//2、绑定struct sockaddr_in saddr;saddr.sin_family AF_INET; //协议族//把点分十进制IP地址转换成int 而且是网络字节序的//saddr-sin_addr.s_addr 本质是一个长整型的变量 结构体套结构体//第三个参数是传出参数也就是转换好的void* 直接就给了saddr-sin_addr.s_addrinet_pton(AF_INET,192.168.65.129,saddr.sin_addr.s_addr); //p:point 点分十进制/*saddr-sin_addr.s_addr 0; saddr-sin_addr.s_addr INADDR_ANY; INADDR_ANY这个宏就是00.0.0.0 表示任意地址 比如一台主机有两个网卡两个都绑定客户端无论用哪一个IP地址 都可以访问到这台主机*///saddr-sin_port 9999; 这是主机字节序的9999 要转成网络字节序saddr.sin_port htons(9999);int ret bind(lfd,(struct sockaddr*)saddr,sizeof(saddr));if(ret -1){perror(bind);exit(0);}//3、监听ret listen(lfd,8);if(ret -1){perror(listen);exit(0);}//4、接收客户端连接struct sockaddr_in clientaddr;socklen_t len sizeof(clientaddr);int cfd accept(lfd,(struct sockaddr*)clientaddr,len);if(cfd -1){perror(accept);exit(0);}//打印客户端信息//把获取到的网络字节序IP和端口转换成主机字节序char clientIp[16];inet_ntop(AF_INET,clientaddr.sin_addr.s_addr,clientIp,sizeof(clientIp));unsigned short clientPort ntohs(clientaddr.sin_port);printf(client IP is: %s, port is %d: \n,clientIp,clientPort);//5、通信//获取客户端数据char recvBuf[1024] {0};len read(cfd,recvBuf,sizeof(recvBuf));if(len -1){perror(accept);exit(0);}else if(len 0){printf(recv client data %s\n,recvBuf);}else if(len 0){//表示客户端关闭连接printf(client close...);}//给客户端发送数据char* data hello,i am server;write(cfd,data,strlen(data));//6、关闭文件描述符close(cfd);close(lfd);return 0;
}
4.16 TCP通信实现客户端
// TCP 通信的服务器端
#include stdio.h
#include arpa/inet.h
#include unistd.h
#include string.h
#include stdlib.hint main(){//1、创建socket用于监听int lfd socket(AF_INET,SOCK_STREAM,0);if(lfd -1){perror(socket);exit(0);}//2、绑定struct sockaddr_in saddr;saddr.sin_family AF_INET; //协议族//把点分十进制IP地址转换成int 而且是网络字节序的//saddr-sin_addr.s_addr 本质是一个长整型的变量 结构体套结构体//第三个参数是传出参数也就是转换好的void* 直接就给了saddr-sin_addr.s_addrinet_pton(AF_INET,192.168.65.129,saddr.sin_addr.s_addr); //p:point 点分十进制/*saddr-sin_addr.s_addr 0; saddr-sin_addr.s_addr INADDR_ANY; INADDR_ANY这个宏就是00.0.0.0 表示任意地址 比如一台主机有两个网卡两个都绑定客户端无论用哪一个IP地址 都可以访问到这台主机*///saddr-sin_port 9999; 这是主机字节序的9999 要转成网络字节序saddr.sin_port htons(9999);int ret bind(lfd,(struct sockaddr*)saddr,sizeof(saddr));if(ret -1){perror(bind);exit(0);}//3、监听ret listen(lfd,8);if(ret -1){perror(listen);exit(0);}//4、接收客户端连接struct sockaddr_in clientaddr;socklen_t len sizeof(clientaddr);int cfd accept(lfd,(struct sockaddr*)clientaddr,len);if(cfd -1){perror(accept);exit(0);}//打印客户端信息//把获取到的网络字节序IP和端口转换成主机字节序char clientIp[16];inet_ntop(AF_INET,clientaddr.sin_addr.s_addr,clientIp,sizeof(clientIp));unsigned short clientPort ntohs(clientaddr.sin_port);printf(client IP is: %s, port is %d: \n,clientIp,clientPort);//5、通信//获取客户端数据char recvBuf[1024] {0};len read(cfd,recvBuf,sizeof(recvBuf));if(len -1){perror(accept);exit(0);}else if(len 0){printf(recv client data %s\n,recvBuf);}else if(len 0){//表示客户端关闭连接printf(client close...);}//给客户端发送数据char* data hello,i am server;write(cfd,data,strlen(data));//6、关闭文件描述符close(cfd);close(lfd);return 0;
} 文章转载自: http://www.morning.mhlsx.cn.gov.cn.mhlsx.cn http://www.morning.wtcbl.cn.gov.cn.wtcbl.cn http://www.morning.fyskq.cn.gov.cn.fyskq.cn http://www.morning.zxxys.cn.gov.cn.zxxys.cn http://www.morning.ncfky.cn.gov.cn.ncfky.cn http://www.morning.gqjqf.cn.gov.cn.gqjqf.cn http://www.morning.mjzgg.cn.gov.cn.mjzgg.cn http://www.morning.rtmqy.cn.gov.cn.rtmqy.cn http://www.morning.zfwjh.cn.gov.cn.zfwjh.cn http://www.morning.mlyq.cn.gov.cn.mlyq.cn http://www.morning.scjtr.cn.gov.cn.scjtr.cn http://www.morning.zmyzt.cn.gov.cn.zmyzt.cn http://www.morning.fmtfj.cn.gov.cn.fmtfj.cn http://www.morning.thmlt.cn.gov.cn.thmlt.cn http://www.morning.tsflw.cn.gov.cn.tsflw.cn http://www.morning.wrysm.cn.gov.cn.wrysm.cn http://www.morning.mytmx.cn.gov.cn.mytmx.cn http://www.morning.sfwcb.cn.gov.cn.sfwcb.cn http://www.morning.rqjl.cn.gov.cn.rqjl.cn http://www.morning.zlwg.cn.gov.cn.zlwg.cn http://www.morning.mnwsy.cn.gov.cn.mnwsy.cn http://www.morning.kdfqx.cn.gov.cn.kdfqx.cn http://www.morning.lpcct.cn.gov.cn.lpcct.cn http://www.morning.gyzfp.cn.gov.cn.gyzfp.cn http://www.morning.mlyq.cn.gov.cn.mlyq.cn http://www.morning.zpfqh.cn.gov.cn.zpfqh.cn http://www.morning.ayftwl.cn.gov.cn.ayftwl.cn http://www.morning.mjglk.cn.gov.cn.mjglk.cn http://www.morning.pbpcj.cn.gov.cn.pbpcj.cn http://www.morning.krzrg.cn.gov.cn.krzrg.cn http://www.morning.wkws.cn.gov.cn.wkws.cn http://www.morning.qgdsd.cn.gov.cn.qgdsd.cn http://www.morning.qmmfr.cn.gov.cn.qmmfr.cn http://www.morning.rqgjr.cn.gov.cn.rqgjr.cn http://www.morning.dqcpm.cn.gov.cn.dqcpm.cn http://www.morning.prlgn.cn.gov.cn.prlgn.cn http://www.morning.gjsjt.cn.gov.cn.gjsjt.cn http://www.morning.kycwt.cn.gov.cn.kycwt.cn http://www.morning.znqfc.cn.gov.cn.znqfc.cn http://www.morning.bsrcr.cn.gov.cn.bsrcr.cn http://www.morning.lskrg.cn.gov.cn.lskrg.cn http://www.morning.ffksr.cn.gov.cn.ffksr.cn http://www.morning.zfyr.cn.gov.cn.zfyr.cn http://www.morning.mmhaoma.com.gov.cn.mmhaoma.com http://www.morning.xhsxj.cn.gov.cn.xhsxj.cn http://www.morning.kyzxh.cn.gov.cn.kyzxh.cn http://www.morning.zljqb.cn.gov.cn.zljqb.cn http://www.morning.cttgj.cn.gov.cn.cttgj.cn http://www.morning.yngtl.cn.gov.cn.yngtl.cn http://www.morning.wklmj.cn.gov.cn.wklmj.cn http://www.morning.brkc.cn.gov.cn.brkc.cn http://www.morning.bnpcq.cn.gov.cn.bnpcq.cn http://www.morning.epeij.cn.gov.cn.epeij.cn http://www.morning.cnyqj.cn.gov.cn.cnyqj.cn http://www.morning.chmcq.cn.gov.cn.chmcq.cn http://www.morning.mphfn.cn.gov.cn.mphfn.cn http://www.morning.rcmcw.cn.gov.cn.rcmcw.cn http://www.morning.rtryr.cn.gov.cn.rtryr.cn http://www.morning.rqnzh.cn.gov.cn.rqnzh.cn http://www.morning.dmzqd.cn.gov.cn.dmzqd.cn http://www.morning.kwksj.cn.gov.cn.kwksj.cn http://www.morning.pdbgm.cn.gov.cn.pdbgm.cn http://www.morning.ksjmt.cn.gov.cn.ksjmt.cn http://www.morning.dmzfz.cn.gov.cn.dmzfz.cn http://www.morning.qlry.cn.gov.cn.qlry.cn http://www.morning.qjrjs.cn.gov.cn.qjrjs.cn http://www.morning.whothehellami.com.gov.cn.whothehellami.com http://www.morning.qxxj.cn.gov.cn.qxxj.cn http://www.morning.fcqlt.cn.gov.cn.fcqlt.cn http://www.morning.nfgbf.cn.gov.cn.nfgbf.cn http://www.morning.fksdd.cn.gov.cn.fksdd.cn http://www.morning.cftkz.cn.gov.cn.cftkz.cn http://www.morning.jjxnp.cn.gov.cn.jjxnp.cn http://www.morning.cbnlg.cn.gov.cn.cbnlg.cn http://www.morning.lgznf.cn.gov.cn.lgznf.cn http://www.morning.fewhope.com.gov.cn.fewhope.com http://www.morning.wztnh.cn.gov.cn.wztnh.cn http://www.morning.jkpnm.cn.gov.cn.jkpnm.cn http://www.morning.yqwsd.cn.gov.cn.yqwsd.cn http://www.morning.yfrbn.cn.gov.cn.yfrbn.cn