欢迎来到天天文库
浏览记录
ID:46284541
大小:81.00 KB
页数:8页
时间:2019-11-22
《Linux最少的出错检查和使用主机名》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、源程序:sender2.c#include#include#include#include#include#include#includeh>#includeintport=6789;voidmainO{intsocketedescriptor;int比er=0;ssize.tsendto.rc;intclose.rc;charb
2、uf[80];structsockaddrjnaddress;structhosten七#hostbyname;Translateahos七nametoIPaddressV〃纟机名的化弟IP他仏hostbyname=gethostbyname(,z127.0<0dz,);if(hostbyname==NULL){perror(z,gethostbynamefailed");exit(ermo);}厂InitializesocketaddressstructureforInterne七Protoco
3、lsTheaddresscomesfrom七hedatastructurereturnedbygethostbyname()Vbzero(&address,sizeof(address));「emptydatastructure"/address.sin.family=AFJNET;//lP他仏ti入address徇memcpy(&address.sira€i€lr・s.a€idr・hostbyname->h_addrtsizeof(address4、ss-sin.port=htons(port);CreateaUDPsocketVsocket.descriptor=socket(AFJNET.SOGK.DGRAM.0);if(socket.descriptor==-1){perror(z,socketcallfailed");ex比(errno);}/•Loop20times(aniceroundnumber)sendingdata.Vfor(iter=0;iter<=20;iter++){sprintf(buf/zdatapacketwit5、hID%d比er);sendto.rc=sendto(socket-descriptor>buftsizeof(buf)t0,(structsockaddr*)<8caddresstsizeof(address));if(sendto.rc==-1){perror(z,sendtocallfailed");exit(errno);SendaterminationmessageVsprintf(buft"stopz,);sendto.rc=sendto(socket_descriptor>6、buftsizeof(buf)t0t(struc七sockaddra)&address,sizeof(address));if(sendto.rc==-1){perror("sendsSTOPcallfailed");exit(errno);}/•Mos七peopledonztbothertocheckthereturncodereturnedbytheclosefunctionVclose.rc=close(socket.descriptor);if(close.rc==-1)perror("c7、losecallfailed");exit(errno);printf(^MessagesSent,Terminating,/);exit(◎);receiver2.c#include#include#includeh>#include#include#include#includeintport=6789;8、voidmainO{intsin」en;charmessage[256];intsocket.descriptor;structsockaddrjnsin;intbind.rc,close.rc;ssize.trecv.rc;printf(z,Waitingfordatafromsender,z);/*InitializesocketaddressstructureforInterne七ProtocolsVbzero(<8csintsizeof(sin));「emp七ydata
4、ss-sin.port=htons(port);CreateaUDPsocketVsocket.descriptor=socket(AFJNET.SOGK.DGRAM.0);if(socket.descriptor==-1){perror(z,socketcallfailed");ex比(errno);}/•Loop20times(aniceroundnumber)sendingdata.Vfor(iter=0;iter<=20;iter++){sprintf(buf/zdatapacketwit
5、hID%d比er);sendto.rc=sendto(socket-descriptor>buftsizeof(buf)t0,(structsockaddr*)<8caddresstsizeof(address));if(sendto.rc==-1){perror(z,sendtocallfailed");exit(errno);SendaterminationmessageVsprintf(buft"stopz,);sendto.rc=sendto(socket_descriptor>
6、buftsizeof(buf)t0t(struc七sockaddra)&address,sizeof(address));if(sendto.rc==-1){perror("sendsSTOPcallfailed");exit(errno);}/•Mos七peopledonztbothertocheckthereturncodereturnedbytheclosefunctionVclose.rc=close(socket.descriptor);if(close.rc==-1)perror("c
7、losecallfailed");exit(errno);printf(^MessagesSent,Terminating,/);exit(◎);receiver2.c#include#include#includeh>#include#include#include#includeintport=6789;
8、voidmainO{intsin」en;charmessage[256];intsocket.descriptor;structsockaddrjnsin;intbind.rc,close.rc;ssize.trecv.rc;printf(z,Waitingfordatafromsender,z);/*InitializesocketaddressstructureforInterne七ProtocolsVbzero(<8csintsizeof(sin));「emp七ydata
此文档下载收益归作者所有