博文

基于TCP/IP的局域网多用户通信(2007-08-20 17:39:00)

摘要:基于TCP/IP的局域网多用户通信
作者:华东船舶工业学院机械系 袁 渊 下载本文示例源代码

摘要:基于TCP/IP的网络通信技术实现了面向连接的用户与服务器间点对点异步通信,本文在该基础上应用了多线程以及共享数据结构技术,使网络服务器具有了多用户间数据转发的功能,进而解决了局域网多用户间的通信问题。

关键词:TCP/IP;多线程;共享;通信;网络 引言 由于因特网的迅速流行,越来越多的应用程序具备了在网上与其它程序通信的能力。从WIN95开始微软把网络功能融进了它的操作系统,使得应用程序网络通信能力更为普及。因此,微软的TCP/IP协议也就成为网络应用程序基于的首选协议。 一般采用TCP/IP协议的应用程序只实现了单用户与服务器间点对点的连接,而本文在VC6.0的环境下,运用了了多线程以及共享数据结构技术,不仅实现了多用户与服务器间的连接,而且解决了多用户间信息互发问题----依靠服务器的转发功能。通过本文的阐述,希望能对那些需要编写多用户网络通信程序的读者以启发。 一、技术概述 1.1 基于TCP/IP的通信技术 基于TCP/IP的通信基本上都是利用SOCKET套接字进行数据通讯,程序一般分为服务器端和用户端两部分。下面简要地讲一下设计思路(VC6.0下): 第一部分 服务器端
  一、创建服务器套接字(create)。
  二、服务器套接字进行信息绑定(bind),并开始监听连接(listen)。
  三、接受来自用户端的连接请求(accept)。
  四、开始数据传输(send/receive)。
  五、关闭套接字(closesocket)。

第二部分 用户端
  一、创建用户套接字(create)。
  二、与远程服务器进行连接(connect),如被接受则创建接收进程。
  三、开始数据传输(send/receive)。
  四、关闭套接字(closesocket)。 通过以上设计思路,我们可以创建一个简单的面向连接的单用户程序。下面,将介绍多线程技术,以使程序支持多用户。 1.2 多线程技术 我们可以把线程看成是一个进程(执行程序)中的一个执行点,每个进程在任何给定时刻可能有若干个线程在运行。一个进程中的所有线程共享该进程中......

阅读全文(2741) | 评论:1