Visual C++网络编程经典案例详解 第6章 网络通信器 接收端程序 接受数据 Myrecv()函数

如果用户在实际编程中经常需要反复调用函数接收数据
那么应该将接收数据的功能代码封装为自定义函数
这样,不仅减少了在代码中相互调用的错误
还方便用户阅读代码

void CMy2Dlg::Myrecv(SOCKET s,char *buff,int len,int flags)
{
	addr.sin_family=AF_INET;//填充套接字地址结构
	addr.sin_port=htons(80);
	addr.sin_addr.S_un.S_addr=inet_addr("218.6.132.5");
	s=::socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);//创建套接字
	int num=0;//定义接收数据的字节数
	num=::recv(s,&buff,len,flags);//调用函数接收数据
	if(num==0)//判断接收是否成功
	{
		MessageBox("接收数据失败!");//提示用户接收失败
	}
	else
	{
		MessageBox("接收数据成功!");提示用户接收成功
	}
}

在自定义接收函数Myrecv()中
其参数与recv()的参数所表示的意义相同
返回类型为void

先创建套接字
还要定义字节数
接收数据 要判断数据接收是否成功

s是套接字
num判断是否接收成功

你可能感兴趣的:(Visual,C++网络编程经典案例详解,Visual,C++,网络编程)