网络聊天系统源代码 第15页
VC++网络聊天系统
4、监听连接——listen()
功能:用于面向连接服务器,表明它愿意接收连接。
格式:int PASCAL FAR listen(SOCKET s, int backlog);
5、数据传输——send()与recv()
功能:数据的发送与接收
格式:int PASCAL FAR send(SOCKET s,const char FAR * buf,int len,int flags);
int PASCAL FAR recv(SOCKET s,const char FAR * buf,int len,int flags);
参数:buf:指向存有传输数据的缓冲区的指针。
6、多路复用——select()
功能:用来检测一个或多个套接字状态。
格式:int PASCAL FAR select(int nfds,fd_set FAR * readfds,fd_set FAR * writefds,
fd_set FAR * exceptfds,const struct timeval FAR * timeout);
参数:readfds:指向要做读检测的指针
writefds:指向要做写检测的指针
exceptfds:指向要检测是否出错的指针
timeout:最大等待时间
7、关闭套接字——closesocket()
功能:关闭套接字s
格式:BOOL PASCAL FAR closesocket(SOCKET s);
3.1 TCP/IP 协议协议介绍
TCP/IP传输控制协议/网际协议是业界标准的协议组。它是基于四层参考模型,属于TCP/IP协议组的所有协议都位于该模型的上面三层。TCP/IP模型的每一层对应于国际标准化组织(ISO)提议的七层“开放系统互联(OSI)”参考模型的一层或者多层。
OSI参考模型 TCP/IP模型
TCP/IP协议组
TCP/IP协议组
使用下表描述每一层所提供的服务以及所使用的协议:
层 描述 协议
应用层 定义了TCP/IP应用协议以及主机程序与要使用网络的传输层服务之间的接口 HTTP,Telnet,FTP ,TFTP SNMP, DNS ,SMTP等
传输层 提供主机之间的通讯会话管理,定义传输数据时的服务级别以及连接状态 TCP ,UDP ,RTP
网络层 将数据装入IP数据包,包括用于在主机间以及经过网络转发数据包时所用的源和目标地址信息。实现IP数据包的路由 IP ,ICMP ,ARP ,RARP
网络接口层 指定如何通过网络物理地发送数据,包括直接与网络媒体直接接触的硬件设备如何将比特流转换为电信号 以太网\帧中继\令牌环
了解TCP/IP核心协议:
1地址解析协议(ARP):实现IP地址到物理地址的转换;
2 网际协议(IP):是无连接的、不可靠的数据报协议,主要负责主机之间的寻址和选择数据包的路由;
3网际消息协议(ICMP):通过ICMP,使用IP通信的主机和路由器可以报告错误并交换受限控制和状态信息;
4用户数据报协议(UDP):在主机之间提供轻便、快捷、不可靠地传输数据;
5 传输控制协议(TCP):提供可靠的、面向连接的数据报传递服务。
UDP/ TCP比较:
UDP TCP
无连接的服务:在主机间不建立会话 面向连接的服务:在主机间建立会话
UDP不能确保或承认数据传递或序列化数据 TCP通过确认和按照顺序传递数据来确保数据的传递
使用UDP的程序负责提供数据传递的可靠性 TCP确保数据的可靠传输
UDP非常快,具有低开销要求,支持点对点或者一点对多点的通信 TCP比较慢,具有更高的开销要求,只支持点对点通信。
4面向网络聊天系统的系统建设主体思路
为了能够更好的满足用户的需要,如局域网聊天,不同区域的人聊天等;
为了使制作出来的软件更加人性化,更加容易上手。为了实现这个目标
因此,在软件设计过程中,为了做好系统规划,我觉得应该主要这从五个方面下手:
1、实用性。详细了解使用网络聊天系统客户需求,使的产品更加符合他们的使用。
2、科学性。采用先进的设计思路规划网站,使得程序更加可靠,安全。 3、安全性。采用可靠的安全技术标准TCP/IP传送,确保信息的安全传送。
4、可扩展性。可以根据网络聊天系统的发展趋势,即时对系统功能的增加,对原有系统进行功能扩展。
5、交互性。开发高效的交互功能,使用户之间实现及时有效的沟通。
总结
在开发网络通讯软件的时候,我们不仅需要体现技术上,而且要把这个软件的完美,就需要我们不断的学习新的知识,把新的知识融合到软件开发中去,这样做出来的软件才能得到别人的认可和欣赏. 最后感谢老师们的认真的讲解和耐心的帮助。
<< 上一页 [11] [12] [13] [14] [15] [16] [17] 下一页