vc++socket 变量函数的功能说明
来源:互联网 发布:程序员充电 编辑:程序博客网 时间:2024/06/01 08:53
WSADATA
w:windows
s:socket
定义:
摘自<winsock.h>typedef struct WSAData { WORD wVersion; WORD wHighVersion;#ifdef _WIN64 unsigned short iMaxSockets; unsigned short iMaxUdpDg; char FAR * lpVendorInfo; char szDescription[WSADESCRIPTION_LEN+1]; char szSystemStatus[WSASYS_STATUS_LEN+1];#else char szDescription[WSADESCRIPTION_LEN+1]; char szSystemStatus[WSASYS_STATUS_LEN+1]; unsigned short iMaxSockets; unsigned short iMaxUdpDg; char FAR * lpVendorInfo;#endif} WSADATA;
作用:WSADATA结构被用来保存AfxSocketInit函数返回的WindowsSockets初始化信息。
大凡大凡在WIN32平台上的WINSOCK编程都要经过下列步骤:
定义变量->获得WINDOCK版本->加载WINSOCK库->初始化->创建套接字->设置套接字选项->关闭套接字->卸载WINSOCK库->释放资源
下面介绍WINSOCK C/S的建立过程: 服务器 客户端
1 初始化WSA 1 初始化WSA
2 建立一个SOCKET 2 建立一个SOCKET
3 绑定SOCKET 3 连接到服务器
4 在指定的端口监听 4 发送和接受数据
5 接受一个连接 5 断开连接
____________________________________________-
6 发送和接受数据
7 断开连接
大家注意,在VC中进行WINSOCK编程时,需要引入如下两个库文件:WINSOCK.H(这个是WINSOCK API的头文件,WIN2K以上支持WINSOCK2,所以
可以用WINSOCK2.H);Ws2_32.lib(WINSOCK API连接库文件).
使用方式如下:
#include
if(iResuit=WSAStartup(MAKEWORD(2,2),&wsaData)!=0){ printf("WSAStartup failed:%d",GetLastError()); //返回值不等与0,说明初始化失败 if ( bind( server, (SOCKADDR*) &service, sizeof(service) ) == SOCKET_ERROR ) { printf( "bind() failed.\n" ); closesocket(server); return; } // 监听 socket if ( listen( server, 1 ) == SOCKET_ERROR ) printf( "Error listening on socket.\n"); // 接受连接 SOCKET AcceptSocket; printf( "Waiting for a client to connect...\n" ); while (1) { AcceptSocket = SOCKET_ERROR; while ( AcceptSocket == SOCKET_ERROR ) { AcceptSocket = accept( server, NULL, NULL ); } printf( "Client Connected.\n"); server = AcceptSocket; break; } // 发送接受数据 int bytesSent; int bytesRecv = SOCKET_ERROR; char sendbuf[32] = "Server: Sending Data."; char recvbuf[32] = ""; bytesRecv = recv( server, recvbuf, 32, 0 ); printf( "Bytes Recv: %ld\n", bytesRecv ); bytesSent = send( server, sendbuf, strlen(sendbuf), 0 ); printf( "Bytes Sent: %ld\n", bytesSent ); return;
阅读全文
0 0
- vc++socket 变量函数的功能说明
- linux socket编程主要函数功能说明
- socket编程的其他函数说明
- vc FindWindow(),GetWindowText()的函数说明
- VC++ CString Find函数的用法说明
- static修饰的变量与函数说明
- socket函数说明[转]
- socket函数说明
- socket函数说明
- Socket函数说明
- socket主要函数说明
- Socket函数说明
- Socket函数说明
- socket主要函数说明
- oracle所有函数的功能说明
- oracle所有函数的功能说明
- oracle所有函数的功能说明
- VC项目文件功能说明
- hello.c kernel Makefile
- http②网络基础
- 新装wamp后局域网无法访问的问题
- js获取iframe输入框值
- .9图片的制作
- vc++socket 变量函数的功能说明
- ora-7445报错(__intel_new_memcpy()+206)
- java 后台和android 交互 保持session通讯
- js实现屏蔽页面鼠标右键
- Java实现将int转换成字节数组
- Echarts柱状图的每个柱子显示不同颜色问题
- Python-sklearn 机器学习的第一个样例(1)
- WEB 容器、WEB服务和应用服务器的区别与联系
- ubuntu 14.04 opencv2 和opencv3 多个版本切换使用