关于 winsock 服务器和客户端编程
在网络编程中,最常用和最基础的就是 WINSOCK. 现在我们讨论 WINDOWS 下的 SOCKET 编程. 大凡在 WIN32 平台上
的 WINSOCK 编程都要经过下列步骤:
定义变量->获得 WINDOCK 版本->加载 WINSOCK 库->初始化->创建套接字->设置套接字选项->关闭套接字->卸载
WINSOCK 库->释放资源GG
下面介绍 WINSOCK C/S 的建立过程:
服务器GGGGGGGGGGGGGGGGGGGGGGGGG客户端GG
________________________________________________
1 初始化 WSA1 初始化 WSA
____________________________________________________
2 建立一个 SOCKET 2 建立一个 SOCKET
_____________________________________________________
3 绑定 SOCKET 3 连接到服务器GG
_____________________________________________________
4 在指定的端口监听GGGGGGGGGGGGGGG4 发送和接受数据GG
_____________________________________________________
5 接受一个连接GGGGGGGGGGGGGGGGGGG5断开连接GG
______________________________________________________-
6 发送和接受数据GG
___________________________________________________
7 断开连接GG
__________________________________________________
大 家注意 ,在 VC 中进 行 WINSOCK 编程时 ,需 要引入 如下 两个 库文 件 :WINSOCK.H( 这个 是 WINSOCK API 的 头文
件,WIN2K 以上支持 WINSOCK2,所以GG
可以用 WINSOCK2.H);Ws2_32.lib(WINSOCK API 连接库文件).
使用方式如下:
#include <winsock.h>
#pragma comment(lib,"ws2_32.lib")
下面我们通过具体的代码演示服务器和客户端的工作流程:
首先,建立一个 WSADATA 结构,通常用 wsaData
WSADATA wsaData;
然后,调用 WSAStartup 函数,这个函数是连接应用程序与 winsock.dll 的第一个调用.其中,第一个参数是 WINSOCK 版本号,第
二个参数是指向GG
WSADATA 的 指 针 . 该 函 数 返 回 一 个 INT 型 值 , 通 过 检 查 这 个 值 来 确 定 初 始 化 是 否 成 功 . 调 用 格 式 如
下:WSAStartup(MAKEWORD(2,2),&wsaData),其中GG
MAKEWORD(2,2)表示使用 WINSOCK2 版本.wsaData 用来存储系统传回的关于 WINSOCK 的资料.
if(iResuit=WSAStartup(MAKEWORD(2,2),&wsaData)!=0)
{
评论0