您的位置:首页 > 其它

MFC socket 学习笔记

2014-03-01 21:38 183 查看
套接字程序包含通信程序的两端。这两端可称为服务器端和客户机端,两端各建立一个套接字对象。

面向连接的通信方法中,通信前:

1.首先由服务器端套接字启动监听(listen)。

2.然后由客户机端套接字发出连接请求(Connect)。

3.服务器端触发Accept事件,接受连接请求。

4.并在服务器端再建立一个客户端套接字对象,用于接受客户机端发送的数据。

通过以上几步,两个实体间就可以通信了。可以看出,要实现通信至少需要三个套接字对象。

以QQ聊天软件为例,要实现多点间的通信,需要有一个服务器,多个客户机,服务器中有一个监听套接字,每个客户机端有一个客户套接字,当一个客户机端向服务器发送连接请求后,服务器端接受连接请求(Accept),并在服务器端再建立一个客户套接字对象,用于和客户机端实现通信。这样有n个客户机端,服务器就要建立n个客户套接字,所以n个实体间要实现通信,服务器与客户端间至少需要2n+1个套接字对象。

多集通信时,有n个客户机端,服务器就要建立n个客户套接字。所以n个实体间要实现通信,服务器与客户端间至少需要2n+1个套接字对象。

服务器与客户机间的通信过程是服务器中的客户套接字与客户机端套接字之间的通信。他们中的其中之一发送数据(Send),这时另一端触发receive事件,在该事件中就可以接受数据了。

多客户机中的两个客户机要实现通信,如第i个客户机要将数据发送给第j个客户机,过程是第i个客户机将数据发送给服务器,服务器中的第i个客户套接字接受该数据,然后找到服务器中的第j个客户套接字,通过它将数据发送给第j个客户机,这样,第j个客户机就可以接受到第i个客户机发送来的数据了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: