Visual C++网络编程经典案例详解 第6章 网络通信器 发送端程序 创建连接套接字 Onsoc() 消息响应函数

当服务器端程序监听到客户端的连接请求以后
调用自定义消息响应函数进行处理相关请求消息

void CMy12Dlg::Onsoc(WPARAM wParam,LPARAM lParam)
//消息响应函数
{
	char cs[100],cs1[10000],name[15];
	switch(lParam)
	{
		case FD_ACCEPT://处理连接请求
		{
			s1=::accept(s,NULL,NULL);//接受客户端的连接请求
			n=n+1; //计数
			strl3.Format("有%d客户已经连接上了",n);//格式化字符串
			this->SetWindowText(str13);
			GetDlgItem(IDC_EDIT1)->GEtWindowText((LPTSTR)cs1,10000);
			::getpeername(s1,(SOCKADDR*)&add,(int*)sizeof(add));
			//获得连接对方的ip地址
			str13+=cs1;
			str13+="\r\n";
			str13+=::inet_ntoa(add.sin_addr);
			str13+="登录到聊天室";
			GetDlgItem(IDC_EDIT1)->SetWindowText(str13);			
		}
		break;
		case FD_READ: //处理读取事件
		{
			CString num="";
					recv(s1,cs,100,NULL); //接受数据
			GetDlgItem(IDC_EDIT1)->GetWindowText((LPTSTR)cs1,10000);
			//GetDlgItem(IDC_EDIT2)->GetWindowText((LPTSTR)cs,100);
									num+=(LPTSTR)cs1;
									num+="\r\n";
									num+=::inet_nota(add.sin_addr);
									//将ip转换为主机顺序
									num+="对您说: ";
									num+=cs;
									GetDlgItem(IDC_EDIT1)->SetWindowText(num);
		}
		break;
	}
}

用户已经创建了服务器连接套接字
并且将该套接字设置为异步模式
用户在响应函数中处理连接和读取事件

根据消息的不同做出不同的处理
请求有接受和不接受一说
字符串要格式化
格式化就可输出

获得对方的ip地址
ip地址作为字符串的一部分
然后加一些字符串 最终输出

读取事件
接收数据
加上其他字符串输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值