- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《计算机网络》实验报告格式
黑龙江大学
实 验 报 告
课程名称 计算机网络(Computer Network) 实验项目名称 Socket通信编程 实验时间
(日期及节次) 第-周, 周 4 ,第7 -8节 专业 计算机科学与技术 学生所在学院 计算机
科学技术学院 年级 2013 学号 姓名 王力国 指导教师 姜誉 教授 实验地点 4号楼513
实验成绩
出勤、预习情况 操作技术及结果 实验报告 附加:综合创新能力 实验
综合成绩 教师签字
黑龙江大学教务处
实验名称
Socket通信编程
实验目的
通过本实验掌握socket通信程序的编写、通信原理,实际编写通信程序。本实验是后续实验的基础。
实验类型
设计型
实验环境
编程环境:Visual C++ 6.0
运行环境:Windows 7
实验要求
要求做到在一台计算机上实现两个程序的通信,以及在两台计算机上实现两个应用程序的通信。
实验内容与步骤
1、实验中主要使用的技术和算法:
本实验使用了基于UDP协议下的。服务端和客户端:
服务器端(接收端)涉及到的流程(算法 (1)、创建套接字(socket)。
(2)、将套接字绑定到一个本地地址和端口上(bind)。
(3)、等待接收数据(recvfrom)。
(4)、关闭套接字。
客户端(发送端)涉及到的流程(算法 (1)、创建套接字(socket)。
(2)、向服务器发送数据(sendto)。
(3)、关闭套接字。
2、设计思想
// 例如:函数的设计和原因,控制流的设计和原因,接口的设计等;画出模块控制流程图
3、编码
服务器端:
获取本机地址函数:
char* getIP() {
WSADATA swadata;
char name[255];
char* ip;
PHOSTENT hostinfo; //包含主机信息的结构体
if (WSAStartup(MAKEWORD(2, 0), swadata) == 0)
{
if (gethostname(name, sizeof(name)) == 0)
{
if (gethostbyname(name) != NULL)
{
hostinfo = gethostbyname(name);
ip = inet_ntoa(*(struct in_addr*)*hostinfo-h_addr_list);
//网络字节序转换成主机序
}
}
}
WSACleanup();
return ip;
}主函数:int main()
{
WSADATA wsaData;
WORD sockVersion = MAKEWORD(2,2);
if(WSAStartup(sockVersion,wsaData)!=0) //WSAStartup函数被用来初始化Socket环境
{
return 0;
}
//创建套接字,1.协议族 2.套接字类型(流套接字) 3.使用的通信协议
SOCKET sServer = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(sServer==INVALID_SOCKET)
{
printf(socket创建失败!\n);
return 0;
}
char *ipadd;
ipadd=getIP(); //获取本机IP地址
sockaddr_in sin;
sin.sin_family = AF_INET;
sin.sin_port = htons(1129); //将主机字节顺序转为网络字节顺序
sin.sin_addr.S_un.S_addr = inet_addr(ipadd);;
if(bind(sServer,(LPSOCKADDR)sin,sizeof(sin)) == SOCKET_ERROR)
{ //绑定地址信息
printf(绑定失败!\n);
return 0;
}
if(listen(sServer,5) == SOCKET_ERROR)
{ //监听状态
printf(监听失败!\n);
closesocket(sServer);
return 0;
}
sockaddr_in remoteAddr;
SOCKET sClient;
int nAddrLen=sizeof(S
您可能关注的文档
- 学用VC++进行Winsock编程.doc
- 基于TCP的CS通信仿真.doc
- delphi利用流实现网络传输屏幕图像.doc
- UDP通信服务器和客户端 VC++.doc
- xml课件03.ppt
- Reactor模式和NIO.docx
- sftp网络编程.doc
- MyQQ开发文档.doc
- ANSYS一般分析步骤.pptx
- c++MFC CSocket仿QQ聊天软件,实现1对1聊天,群聊.doc
- beta画册-剑桥方程式.pdf
- storytown练习及辅助阅读gr4 l29.pdf
- 八章立体几何文数空间中垂直关系.pdf
- back analysis of the shear parameters for single specimen with bedding planes841背回分析与床上用品平面单个样品剪切参数.pdf
- a节部分听说教程答案.pdf
- 错过约会影响治疗效率办公生产率括号失败tjco.pdf
- 嘉润文学奖-散文组负责稿宪外国语.pdf
- 超越课程进一步活动在句子中使用每个短语青少级ffabovebeyond 15.pdf
- 演员如何使用castsony.pdf
- 课件星期二上午italian paper 1 question booklet.pdf
最近下载
- 中心医院“十五五”发展规划(完整版).docx VIP
- 长沙市工贸企业安全生产管理基础资料 (指导手册).doc VIP
- 贵州省安全生产条例解读课件.ppt VIP
- 公路工程安全管理制度.docx VIP
- ISO 927-2009香辛料和调味品—杂质和外来物含量的测定.doc
- 压缩空气管径及压力损失计算表(管径、压损计算).xls VIP
- 2024年质量员-土建方向-岗位技能(质量员)证考试题库.pdf VIP
- 《无人机航拍技术》课件—06无人机拍摄实例分析.pptx VIP
- YB∕T 《电动汽车驱动电机用冷轧无底层取向电工钢带(片)》.pdf
- 《无人机航拍技术》课件—05无人机飞行的法规.pptx VIP
文档评论(0)