VC下的TCP/IP通信(三)

函数connect

函数功能:将一个套接字连接。该函数原型声明:

int connect(

  SOCKET s,

  const struct sockaddr FAR* name,

  int namelen

);

参数说明:

s:是准备接受数据的套接字。

name:设定连接服务器的地址信息;

namelen:指定服务器端地址的长度。

 

函数recvfrom

函数功能:将接受一个数据报信息并保存源地址。其原型声明如下:

int recvfrom(

    SOCKET s,

    char* buf,

    int len,

    int flags,

    struct sockaddr* from,

    int* fromlen

);

  参数说明:

s:是指准备接受数据的套接字。

buf:是一个指向缓冲区的指针,用于存储接受的数据信息。

len:是缓冲区的长度。

flags:指定调用方式。主要有两个值。一个是MSG_PEEK, 查看当前数据。数据将被复制到缓冲区中,但并不从输入队列中删除,另一个MSG_OOB,处理带外数据。

from:是一个指向地址结构体的指针,主要用来接受发送数据方的地址信息;

fromlen:是一个整型的指针,并且它是一个in/out类型的参数,表明在调用前需要给它指定一个初始值,当函数调用之后,会通过这个参数返回一个地址结构的大小。

 

函数sendto

函数功能:该函数将和一个特定的目的方发送数据,其原型声明如下:

int sendto(

  SOCKET s,

  const char* buf,

  int len,

  int flags,

  const struct sockaddr* to,

  int tolen

);

参数说明:

 s:是一个(可能已建立连接)的套接字描述符;

 buf:是一个指向缓冲区的指针,用于存放发送的数据信息。

 len:指缓冲区的长度。

 flags:指定调用方式。

 to:是一个可选指针,指定目标套接的地址

tolen:是to中指定的地址长度。

 

函数htons htonl

htons函数是将一个u_short类型的值从主机字节顺序转换为TCP/IP的网络字节顺序。其原型声明如下:

u_short htons( u_short hostshort);

htonl函数是将一个 u_long的值从主机字节顺序转换为TCP/IP网络字节顺序。其原型声明如下:

u_long htonl(u_long hostlong);

 

函数AfxSocketInit

如果使用MFC框架,一般多使用这个函数AfxSocketInit函数。函数声明:

BOOL AfxSocketInit(

   WSADATA* lpwsaData = NULL

);

参数说明:

    lpwsaData:是指向WSADATA结构体的指针。该函数内部调用WSAStartup函数来加载套接字库,并且该函数加载的是1.1版本的套接字库。如果读者有兴趣的话,可以在MFC提供源代码中查看一下该函数的源代码。使用这个函数还有一个好处,它可以确保应用程序在终止之前,调用WSACleanup函数以终止对套接字字库用的使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值