下载此文档

简单的服务器、客户端程序实验报告.doc


文档分类:IT计算机 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
简单的客户/ 服务器程序设计与实现实验目的及要求: 1 、熟悉 M icrosoft Visual Studio 2008 编程环境。 2 、了解 TCP 与 UDP 协议,以及它们之间的区别。 3 、了解客户/ 服务器模型原理。 4 、熟悉 Socket 编程原理,掌握简单的套接字编程。实验设备: 硬件: PC机( 两台以上) 、网卡、已经设定好的以太网环境软件: M icrosoft Visual Studio 2008 实验内容及步骤: 1、编写用 TCP 协议实现的 Client 端和 Server 端程序并调试通过。程序分两部分:客户程序和服务器程序。工作过程是: 服务器首先启动, 它创建套接字之后等待客户的连接; 客户启动后创建套接字, 然后和服务器建立连接;建立连接后,客户接收键盘输入,然后将数据发送到服务器,服务器收到到数据后,将接收到的字符在屏幕上显示出来。或者服务器接收键盘输入,然后将数据发送到客户机,客户机收到数据后,将接收到的字符在屏幕上显示出来。程序流程如下: Socket() 建立流式套接字,返回套接字号。 accept(), 接受连接,等待客户端的连接... bind() ,套接字 s 与本地地址相连。 listen() ,通知 TCP ,服务器准备好接收连接。连接建立, accept() 返回,得到新的套接字,sc recvt()/send(), 在套接字 sc 上读/ 写数据, 直到数据交换完毕 closesocket(), 关闭套接字 sc closesocket(), 关闭最初套接字 s, 服务结束 Socket(), 建立流失套接字, 返回套接字号 connect(), 将套接字 s 与远地主机连接 send () /recv() , 在套接字上读/ 写数据,直到数据交换 clo sesocket (), 关闭套接字结束 TCP 对话服务器方客户方 2、编写用 UDP 协议实现的 Client 端和 Server 端程序并调试通过( 做完第一个实验的基础上做该实验)。 3 、编写用 TCP 协议实现 Client 端与 Server 端的一段对话程序。 Server 端根据用户的输入来提示 Client 端下一步将要进行操作。所用函数及结构体参考: 1 、创建套接字—— socket() 功能:使用前创建一个新的套接字格式: SOCKET PASCAL FAR socket(int af, int type, int procotol); 参数: af :代表网络地址族,目前只有一种取值是有效的,即 ,代表 地址族; Type :代表网络协议类型, SOCK_DGRAM 代表 UDP 协议, SOCK_STREAM 代表 TC P 协议; Protocol :指定网络地址族的特殊协议,目前无用,赋值 0 即可。返回值为 SOCKET ,若返回 INVALID_SOCKET 则失败。 2 、指定本地地址—— bind() 功能:将套接字地址与所创建的套接字号联系起来。格式: int PASCAL FAR bind(SOCKET s, const struct sockaddr FAR * name, int namelen); 参数: s: 是由 socket() 调用返回的并且未作连接的套接字描述符(套接字号)。其它:没有错误, bind() 返回 0 ,否则 SOCKET_ERROR 地址结构说明: Socket() 建立流式套接字,返回套接字号。 bind() ,套接字 s 与本地地址相连。 recvt()/send(), 在套接字上读/ 写数据,直到数据交换完毕 closesocket(), 关闭套接字 Socket(), 建立流失套接字, 返回套接字号将套接字与远地主机连接 send () /recv() , 在套接字上读/ 写数据,直到数据交换 clo sesocket (), 关闭套接字结束 UDP 对话服务器方客户方 struct sockaddr_in { short sin_family;// u_short sin_port;//16 位端口号,网络字节顺序 struct in_addr sin_addr;//32 位 IP 地址,网络字节顺序 char sin_zero[8];// 保留}3 、建立套接字连接—— connect() 和 accept() 功能:共同完成连接工作格式: int PASCAL FAR connect(SOCKET s, const struct sockaddr FAR * name, int namelen); SOCKET PASCAL FAR accept(SOCKET s, struct sockaddr FAR * name,

简单的服务器、客户端程序实验报告 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人薄荷牛奶
  • 文件大小164 KB
  • 时间2017-01-20
最近更新