数据报套接字编程.ppt_第1页
数据报套接字编程.ppt_第2页
数据报套接字编程.ppt_第3页
数据报套接字编程.ppt_第4页
数据报套接字编程.ppt_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验七 数据报套接字编程,程序流程,客户端代码,/* 调试环境:VC+6.0 程序名称:client.cpp 客户端IP地址和端口:由系统指定 程序功能: 客户端程序向服务器发送数据“Hello! I am a client.“; 客户端程序从服务器接收数据并进行显示 命令格式:client 服务器IP地址 命令举例:client 192.168.0.1 说明:上面设要给IP地址为192.168.0.1、端口号为5050的服务器发送数据 */ #include #include /将ws2_32.lib库加入到工程中进行编译 #pragma comment (lib, “ws2_32.lib“) /服务器端口号为5050 #define DEFAULT_PORT 5050 /缓冲区长度 #define DATA_BUFFER 1024,客户端代码,void main(int argc,char *argv ) WSADATA wsaData; SOCKET sClient; int iPort=5050; /服务器地址长度 int iLen; /接收数据的缓冲 int iSend; int iRecv; /要发送给服务器的信息 char send_buf =“Hello! I am a client.“; /接收数据的缓冲区 char recv_bufDATA_BUFFER; /服务器端地址 struct sockaddr_in ser; /处理命令行中输入的参数 if(argc2) /提示在命令行中输入服务器IP地址 printf(“Usage:client server IP addressn“); return; ,客户端代码,/接收数据的缓冲区初始化 memset(recv_buf,0,sizeof(recv_buf); if(WSAStartup(MAKEWORD(2,2),客户端代码,/向服务器发送数据 iSend=sendto(sClient,send_buf,sizeof(send_buf),0, (struct sockaddr*),客户端代码,/从服务器接收数据 iRecv=recvfrom(sClient,recv_buf,sizeof(recv_buf),0, (struct sockaddr*) ,服务器端代码,/* 调试环境:VC+6.0 程序名称:server.cpp 服务器IP地址:由系统指定 服务器端口:5050 功能: 从端口5050接收客户端发送来的数据,接收成功后显示从客户端收到的数据、客户端的IP地址和端口号; 给客户端发送“Hello!I am a server.“字符串 命令格式:server */ #include #include #include #pragma comment (lib, “ws2_32.lib“) /服务器端口号为5050 #define DEFAULT_PORT 5050 /接收数据缓冲区长度 #define BUFFER_LENGTH 1024,服务器端代码,void main( ) int iPort=DEFAULT_PORT; WSADATA wsaData; SOCKET sSocket; /客户地址长度 int iLen; /发送的数据长度 int iSend; /接收的数据长度 int iRecv; /要发送给客户的信息 char send_buf =“Hello! I am a server.“; /接收数据的缓冲区 char recv_bufBUFFER_LENGTH; /本地地址和客户地址 struct sockaddr_in ser,cli;,服务器端代码,printf(“-n“); printf(“Server waitingn“); printf(“-n“); if(WSAStartup(MAKEWORD(2,2), ,服务器端代码,/以下建立服务器端地址 ser.sin_family=AF_INET; /htons( )函数把一个双字节主机字节顺序的数转换为网络字节顺序的数 ser.sin_port=htons(iPort); /htonl( )函数把一个主机字节顺序的数转换为网络字节顺序的数 ser.sin_addr.s_addr=htonl(INADDR_ANY); if(bind(sSocket,(LPSOCKADDR) /进入一个无限循环,进行数据接收和发送,服务器端代码,while(1) /从客户端接收数据 iRecv=recvfrom(sSocket,recv_buf,BUFFER_LENGTH,0,(SOCKADDR*) ,服务器端代码,/给客户发送信息 iSend=sendto(sSocket,send_buf,size

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论