- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二 网络通信
实验目的
UDP通信协议的编程练习,实现两台计算机之间的网络通信。
2.实验环境及设备
两台装有linux系统的pc机。全软件操作。
3.实验内容
(1)该实验通过在两台机子上编写不同的程序实现,在计算机A(客户端)上由键盘输入字符串,并将该字符串通过网络发送到另一台计算机B(服务器端),如果计算机B接收该字符串,将该字符串显示到屏幕上,向计算机A发送“success!”,接收成功并显示。服务器端负责接收客户端发送来的数据,客户端用于发送键盘输入的数据。
(2)实验步骤:
1、编写客户端和服务器端程序,使客户端和服务器端建立UPD协议通信;
2、从客户端输入数据,服务器端接收并显示;
3、服务器端如接收成功,向客户端返回成功接收标志“success!”。
(3)试验中需要注意的地方:
1、调试实验的程序,保证能够运行,且两台计算机间的网络连通。
2、程序能分步实现需要的功能,运行服务端的程序,能够发送信息。
(4)实验程序:
#includestdio.h
#includestdlib.h
#includestring.h
#includeerrno.h
#includesys/types.h
#includesys/socket.h
#includenetinet/in.h
#define PORT 5432
int main(int argc,char **argv)
{
int ser_sockfd;
int len;
//int addrlen;
socklen_t addrlen;
char seraddr[100];
struct sockaddr_in ser_addr;
/*建立socket*/
ser_sockfd=socket(AF_INET,SOCK_DGRAM,0);
if(ser_sockfd0)
{
printf(I cannot socket success\n);
return 1;
}
printf(Socket创建成功!\n);
/*填写sockaddr_in 结构*/
addrlen=sizeof(struct sockaddr_in);
bzero(ser_addr,addrlen);
ser_addr.sin_family=AF_INET;
ser_addr.sin_addr.s_addr=htonl(INADDR_ANY);
ser_addr.sin_port=htons(5432);
/*绑定客户端*/
if(bind(ser_sockfd,(struct sockaddr *)ser_addr,addrlen)0)
{
printf(连接错误!\n);
return 1;
}
printf(绑定Scoket成功!,等待客户端的请求...\n);
while(1)
{
bzero(seraddr,sizeof(seraddr));
len=recvfrom(ser_sockfd,seraddr,sizeof(seraddr),0,(struct sockaddr*)ser_addr,addrlen);
/*显示client端的网络地址*/
printf(192.168.3.219 \n,inet_ntoa(ser_addr.sin_addr));
/*显示客户端发来的字串*/
printf(接收到的消息:%s,seraddr);
/*将字串返回给client端*/
sendto(ser_sockfd,seraddr,len,0,(struct sockaddr*)ser_addr,addrlen);
}
close(ser_sockfd);
return 0;
}
(3)运行客户端的程序,使之能够显示信息
#includestdio.h
#includestdlib.h
#includestring.h
#includeerrno.h
#includesys/types.h
#includesys/socket.h
#includenetinet/in.h
//定义端口号
#define PORT 5432
int main(int argc,char **argv)
{
int cli_sockfd;
socklen_t addrlen;
char seraddr[14];
struct sockaddr_in cli_addr;
char buf
您可能关注的文档
- 提一个问题:关于签证(基坑维护与砼温度裂缝).doc
- 常用越南语100句.doc
- 班级共同体创建.doc
- 被子植物的起源和系统发育.doc
- 常用中成药物作用.doc
- 法律能否保护文化.doc
- 肝卵圆细胞分化调控机制第研究进展.doc
- 果树桔小实蝇的为害和防治策略《福建农业》.doc
- 婚礼主持台词与音乐.doc
- 基因编辑技术是福还是祸.doc
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
文档评论(0)