您的位置:首页 > 理论基础 > 计算机网络

MFC网络通信(一):基本概念

2017-10-21 21:31 288 查看

1.网络通信的基础知识

互联网中的两台计算机进行通信,是通过IP和端口号实现的。把计算机比作火车站的话,IP地址相当于火车站的名字,端口就是每个车站里的站台号。一个端口在同一时刻只能被一个进程占用。

TCP/IP协议定义了网络通信的基本标准,即传输控制协议TCP(Transmission Control Protocol)和互联网协议IP(Internet Protocol).

TCP/IP的两种分层:

TCP/IP结构OSI七层结构(open systems interconnection)
应用层应用层、表示层、会话层
传输层(TCP)传输层
网络层(IP)网络层
网络接口层数据链路层、物理层
Socket 即“套接字”,是专门用于开发通信程序的句柄(指针?),Socket用于管理端口的创建、侦听、连接和数据收发等功能。

2.简单的UDP通信

MFC通过专用的CSocket类实现网络通信。

UDP软件不分客户端和服务器端,通信时需要输入对方的IP号和端口号。

关键步骤:

(1)添加CSocket类的派生类CSocku;

(2)修改其虚函数OnReceive,用于接收消息。

char s[2048];
int nRet=Receive(s,sizeof(s)-1);


(3)在主对话框中添加代码:头文件中添加CSocku变量;在初始化函数中创建端口。

if(!m_sock.Create(8828,SOCK_DGRAM))//1参数表示端口号(自定义),2表示UDP的端口类型
{
CString str;
str.Format("创建Socket出错:%s",GetLastError());
MessageBox(str);
}


(4)添加发送按钮的消息响应函数,用于发送消息

m_sock.SendTo(szText,szText.GetLength(),nPort,szIP);//1表示发送的文字,2表示文字的长度,3表示对方的端口号,4表示对方的IP地址


(5)效果显示:(消息发给自己)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: