张钟
重庆理工大学 重庆 400054
随着Internet的普及,作为网络通信的应用之一,网上聊天由于实时、快捷、方便,具有保护隐私的功能(私聊),而受到了现代人的喜爱。我们通常使用的聊天程序,按实现的功能可分为公聊和私聊二大类,私聊亦简称为悄悄话。网上聊天时用得较多的是私聊。
在计算机网络体系中,网络体系一般可分为5层,从上到下,第1层是:应用层;第2层是:传输层;第3层是:网络层;第4层是:链路层;第5层是:物理层。TCP协议位于其第2层的传输层中,TCP是可用于在不可靠的因特网上提供面向连接的、可靠的、有序的、无重复、全双工端到端的字节流通信的协议,通信过程就像打电话一样,可用于设计聊天室。在Windows系统中,对于Win32汇编语言而言,提供了WinSock API函数来支持TCP协议等,但在通信之前通信双方必须先建立一个通信对象,这就是套接字Socket,而用于TCP的套接字是流套接字SOCK_STREAM,TCP协议的工作方式采用的是客户端/服务器模式(Client/Server model),另外,WinSock API函数提供的TCP套接字的使用模式有两种:阻塞模式(同步模式)和非阻塞模式(异步模式),创建一个套接字时,默认工作方式是阻塞模式,如需要使用非阻塞模式,则可用WSAAsyncSelect函数再设置为非阻塞模式。因此,客户端和服务器端的通信套接字可以有四种工作方式组合:(1)客户端阻塞模式<——>服务器端阻塞模式;(2)客户端阻塞模式<——>服务器端非阻塞模式;(3)客户端非阻塞模式<——>服务器端阻塞模式;(4)客户端非阻塞模式<——>服务器端非阻塞模式。
对……