客户端与服务器通信连接_第1页
客户端与服务器通信连接_第2页
客户端与服务器通信连接_第3页
客户端与服务器通信连接_第4页
客户端与服务器通信连接_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

服务器端 服务器端和客户端都需要添加头文件为 include 和 include 然后还要为程序链接响应的库文件 ws2 32 lib 客户端和服务器 端都需要 方法是 project project setting link 然 后在 object library modules 编辑框中添加 ws2 32 lib 文件 void CSuccessDlg OnBtListen 创建服务器套接字 WORD wVersionRequested 指定准备加载的 Winsock 库 的版本 WSADATA wsaData 返回值 返回 WSAStartup 函 数用其加载的库版本有关的信息 int err wVersionRequested MAKEWORD 1 1 x 为高字节 表 示主版本 y 为低字节 表示副版本 err WSAStartup wVersionRequested if err 0 return if LOBYTE wsaData wVersion 1 HIBYTE wsaData wVersion 1 WSAStartup 把结构中的 第一个字段 wVersion 设置为打算使用的版本 WSACleanup 表明 WSAStartup 函数成 功的调用 释放为该程序分配的资源 终止对 WinSock 动态库 的使用 return 创建用于监听的套接字 原型 SOCKET socket int af type int protocol SOCKET sockSrv socket AF INET SOCK STREAM 0 af 指定地址族 tcp ip 协议只能是 AF INET 也可以写成 PF INET type 指定 socket 类型 只支持两种套接字 SOCK STREAM 流 式套接字 SOCK DGRAM 产生数据报套接字 SOCKADDR IN addrSrv 固定形式 protocol 只协议 设置为 0 表示自动选择合适的协议 绑定套接字 原型 int bind SOCKET conts struct sockaddr FAR name int namelen socket s 指定要绑定的套接字 第二个参数 name 指定 该套接字的本地地址信息 用 namelen 指定 name 的长度 bind sockSrv SOCKADDR struct sockaddr addrSrv sin addr S un S addr htonl INADDR ANY 套 接字的主机 IP 地址 以点分十进制表示 INADDR ANY 表示允许套接字向任何分配给本地机器的 IP 地址发送或者接受数据 htonl 表示以主机字节顺序表示的 16 位数值 addrSrv sin family AF INET 指定地址家族 固定形式 addrSrv sin port htons 6000 指定要分配给套接字的 端口 将套接字设为监听模式 准备接收客户请求 原型 int listen SOCKET s int backlog listen sockSrv 5 第一个参数是套接字描述 第二个是 等待连接队列的最大长度 SOCKADDR IN addrClient int len sizeof SOCKADDR while 1 等待客户端请求到来 SOCKET sockConn accept sockSrv SOCKADDR 接受客户端发送的连接请求 char sendBuf 100 sprintf sendBuf welcome s to http 172 168 2 35 inet ntoa addrClient sin addr 发送数据 send sockConn sendBuf strlen sendBuf 1 0 第一 个参数是已建立连接的套接字 第二个参数指向缓冲区包含将 要传递的数据 第三个参数缓冲区的长度 第四个参数设置为 0 即可 char recvBuf 100 接收数据 recv sockConn recvBuf 100 0 参数与 send 类似 打印接收的数据 printf s n recvBuf 关闭套接字 closesocket sockConn 客户端 void CSuccess1Dlg OnOK 加载套接字 WORD wVersionRequested WSADATA wsaData int err wVersionRequested MAKEWORD 1 1 err WSAStartup wVersionRequested if err 0 return if LOBYTE wsaData wVersion 1 HIBYTE wsaData wVersion 1 WSACleanup return 创建套接字 SOCKET sockClient socket AF INET SOCK STREAM 0 SOCKADDR IN addrSrv addrSrv sin addr S un S addr inet addr 172 168 2 35 服务器 IP 地址 addrSrv sin family AF INET addrSrv sin port htons 6000 if addrSrv sin port 6000 MessageBox 端口不正确 请重新输入 向服务器发出连接请求 connect sockClient SOCKADDR 接收数据 char recvBuf 100 recvbuf 存储服务器发送的数据 recv sockClient recvBuf 100 0 recv 函数接收数据 printf s n recvBuf 调用 printf 将接收到的数据打 印出来 发送数据 send sockC

温馨提示

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

评论

0/150

提交评论