WEB开发网
开发学院软件开发VC WinSock学习笔记 阅读

WinSock学习笔记

 2010-05-25 20:36:43 来源:WEB开发网   
核心提示:7、套接字发送数据:(服务器端和客户端)int send(SOCKET s, const char FAR * buf, int len, int flags )s为服务器端监听的套接字,buf为欲发送数据缓冲区的指针,WinSock学习笔记(6),len为发送数据缓冲区的长度,flags为数据发送标记,len为准备接

7、套接字发送数据:(服务器端和客户端)

int send(SOCKET s, const char FAR * buf, int len, int flags )

s为服务器端监听的套接字。

buf为欲发送数据缓冲区的指针。

len为发送数据缓冲区的长度。

flags为数据发送标记。

返回值为发送数据的字符数。

◆这里讲一下这个发送标记,下面8中讨论的接收标记也一样:

flag取值必须为0或者如下定义的组合:0表示没有特殊行为。

#define MSG_OOB 0x1 /* process out-of-band data */

#define MSG_PEEK 0x2 /* peek at incoming message */

#define MSG_DONTROUTE 0x4 /* send without using routing tables */

MSG_OOB表示数据应该带外发送,所谓带外数据就是TCP紧急数据。

MSG_PEEK表示使有用的数据复制到缓冲区内,但并不从系统缓冲区内删除。

MSG_DONTROUTE表示不要将包路由出去。

用法:

char buf[]="xiaojin";
int nResult=send(s,buf,strlen(buf));
if(nResult==SOCKET_ERROR)
{
//错误处理
}

8、套接字的数据接收:(客户端)

int recv( SOCKET s, char FAR * buf, int len, int flags )

s为准备接收数据的套接字。

buf为准备接收数据的缓冲区。

len为准备接收数据缓冲区的大小。

flags为数据接收标记。

返回值为接收的数据的字符数。

用法:

char mess[1000];
int nResult =recv(s,mess,1000,0);
if(nResult==SOCKET_ERROR)
{
//错误处理
}

上一页  1 2 3 4 5 6 7  下一页

Tags:WinSock 学习 笔记

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接