基于TCP的局域网多用户通信、文件传送程序详解
2010-06-27 20:41:57 来源:WEB开发网核心提示:看了袁渊先生在VC知识库《在线杂志》第14期发表的文章《基于TCP/IP的局域网多用户通信》,感觉受益颇多,基于TCP的局域网多用户通信、文件传送程序详解,但也觉得里面有一些不太完善的地方,具体来说主要有:两个服务器单独运行,任一客户程序均可以既作为文件传送服务器发送文件,也可以作为客户端接收文件,且主线程均阻塞,用户
看了袁渊先生在VC知识库《在线杂志》第14期发表的文章《基于TCP/IP的局域网多用户通信》,感觉受益颇多,但也觉得里面有一些不太完善的地方,具体来说主要有:
两个服务器单独运行,且主线程均阻塞,用户界面死锁,不便于控制;
聊天服务器线程和互斥量的使用可能导致死锁;
不能实现文件传送(文件传送可不能由服务器转发,否则非把它累趴下不可^-^);
不能由用户进行网络设置,所以在不同的网络使用必须修改源程序等等;
我在此基础上重新设计编写了一个系统,具体如下:
一、构架设计
整个系统分为三个相关的程序模块,即注册登陆服务器(wbQQRegSer)、聊天通信服务器(wbQQChat)以及用户程序(wbQQClient)。其中,注册登陆服务器负责用户的注册、登陆以及数据库管理;通信服务器负责完成数据转发以及共享数据结构的管理;用户端则完成注册、登陆、通信和文件传送功能。在进行文件传送时,任一客户程序均可以既作为文件传送服务器发送文件,也可以作为客户端接收文件,实现半双工的文件传送。整个系统构成如图一:
更多精彩
赞助商链接