- 12
- 0
- 约4.27千字
- 约 8页
- 2016-11-27 发布于重庆
- 举报
基于UDP的客戶与服务器通信程序
实验名称
基于UDP的客户与服务器通信程序
所属课程名称
TCP/IP协议与网络编程
实验时间
2010/11/12
实验地点
信控系二机房
学生姓名
陈红梅
实验器材及环境
PC机、Visual C++ 6.0
实验目的
在C++环境中编写代码,调用Winsock AIP基本函数,实现一个基于UDP的客户/服务器通信程序。
实验内容
熟练掌握函数的调用及其编程;
理解掌握基于UDP的客户/服务器通信程序;
理解函数的Winsock AIP基本函数的调用、返回值的类型、函数功能等。
实验步骤
进入Visual C++6.0
创建一个空工程sy1
创建area.c文件
流程图
否iRecv=recvfrom()
否
iRecv=recvfrom()
调用失败
输出调用失败
开始
确定端口号
输出服务器
WSAStartup
sListen=Socket
Bind()
是
是
是
否
否
否
否
1
isend=sendto()
!=0
调用成功
Closesocket
(saccept)
Closesocket(saccept)
结束
==0
!=0
输出接收到的数据、IP地址、端口号
==0
编写代码
程序一:服务器端
#includeWinsock2.h
#includestdio.h
#includestdlib.h
#define DEFAULT_PORT 5050
#define BUFFER_LENGTH 1024
#pragma comment(lib,WS2_32.lib)
void main()
{
int iPort=DEFAULT_PORT;
WSADATA wsaData;
SOCKET sSocket;
int iLen,iRecv,iSend;
struct sockaddr_in ser,cli;
char send_buf[]=Hollo!I am a server;
char recv_buf[BUFFER_LENGTH];
printf(--------------------);
printf(Server waiting);
printf(--------------------);
if(WSAStartup(MAKEWORD(2,2),wsaData)!=0)
{
printf(环境初始化错误:\n);
return;
}
sSocket=socket(AF_INET,SOCK_DGRAM,0);
if(sSocket==INVALID_SOCKET)
{
printf(socket()函数调用失败:\n,WSAGetLastError());
return;
}
ser.sin_family=AF_INET;
ser.sin_port=htons(iPort);
ser.sin_addr.s_addr=htonl(INADDR_ANY);
if(bind(sSocket,(LPSOCKADDR)ser,sizeof(ser))==SOCKET_ERROR)
{
printf(bind()函数调用失败:\n,WSAGetLastError());
return;
}
iLen=sizeof(cli);
memset(recv_buf,0,sizeof(recv_buf));
while(1)
{
iRecv=recvfrom(sSocket,recv_buf,BUFFER_LENGTH,0,(SOCKADDR*)cli,iLen);
if(iRecv==SOCKET_ERROR)
{
printf(recvfrom()函数调用失败:\n,WSAGetLastError());
break;
}
else if(iRecv==0)
break;
else
{
printf(recvfrom():%d\n,recv_buf);
printf(客户端的IP地址、端口号:%d\n,inet_ntoa(cli.sin_addr),ntohs(cli.sin_port));
}
iSend=sendto(sSocket,send_buf,sizeof(send_buf),0,(SOCKADDR*)cli,sizeof(cli));
if(iSend==SOCKET_ERROR)
{
printf(sendto()函数调用失败:\n,WSAGetLastError()
您可能关注的文档
- 基于Struts的在線教学管理系统(SQL数据库)_1401191946156385.doc
- 基于Struts構架的网上教学资源共享管理系统.doc
- 基于Super生涯發展理论的研究生就业指导展望.doc
- 基于SVAR模型的中國核心通货膨胀的估计与应用(统计研究0804028).doc
- 基于supermap的城市中小零售商選址系统设计与实现.docx
- 基于Struts的體育商城网站设计与实现.doc
- 基于SVAR模型的中國核心通货膨胀的估计与应用.doc
- 基于SVPWM的三相無刷直流电机控制策略.doc
- 基于SWAT模型的琿春河流域分布式水文模拟.doc
- 基于Struts2的電子邮箱系统毕业论文.doc
最近下载
- (2026年)实施指南《GBT13265.1-1997纤维光学隔离器第1部分总规范》.pptx VIP
- 2026-2030中国沉香木行业市场深度调研及发展趋势与投资前景研究报告.docx
- 东北证券-博源化工-000683-稀缺天然碱领军企业阿碱项目稳步扩产.pdf VIP
- JB_T 8531-2013阀门手动装置 技术条件.pdf
- 武术套路单项比赛所需物品明细单.docx VIP
- 部编版小学语文教师:统编版语文1-6年级语文要素梳理.pdf VIP
- 2026年江苏城市职业学院单招职业技能考试必刷测试卷附答案.docx VIP
- 船上见习记录簿(样式).pdf
- (2026春新版)三年级下册道德与法治全册教案.docx
- (2025年)广东省公务员招录面试真题及答案.docx
原创力文档

文档评论(0)