如何实现两台主机之间的通信

如何实现两台主机之间的通信,第1张

VB用winsock控件吧,网上例子太多了,你也可以看看书
用Winsock实现点对点通信
作者不详
Winsock控件是VB50的新增功能,它解决了以往应用VB编程时网络中应用程序之间无法实现点对点通信的难题。Winsock使用的TCP协议和UDP协议允许建立并保持一个到远程计算机上的连接,且可以在连接结束之前实时地进行数据交换。用户仅通过设置属性并借助事件处理就能够轻而易举地连接到一个远程的计 算机上,而且只用两个命令就可以实现数据交换。
使用TCP协议时,如果需要创建一个客户应用程序,就必须识别服务器的名称或IP地址。
应用程序的通信端口随时都将仔细监测对方发出的消息,这是系统进行可靠连接的保证。一旦连接发生,任何一方都可以通过SendData发送和接收数据,并借助GetData把自己的数据分离出来。传送数据时,需要先设定客户机的LocalPort属性,服务器则只需要把RemoteHost属性设定为客户机以太网的地址,并设定与客户机LocalPort属性相同的端口地址, 借助SendData方法开始发送消息。客户机则在GetData事件中通过DataArrival事件分离出发送的信息。
一个Winsock控件可以让本地计算机连接到远程的计算机上,同时使用UDP或TCP协议,两个协议都能创建客户机和服务器应用。
使用Winsock控件时,通信的双方需要选定相同的协议。TCP协议适用于传送大容量、需要安全性保证的数据文件;而UDP协议适用于需要分别与很多下属通信,或者建立的连接比较多且为时变的情况,特别是在数据量很小的时候。设定时可以使用Winsock1Protocol =
sckTCPProtocol方法,首先要找到你的计算机的名称,并把它添入Winsock的LocalHost属性中。
创建一个应用程序时,首先要确定你建立的是客户方应用还是服务器服务,只有建立的服务器应用开始工作,并进入监听状态时,客户应用程序才开始建立连接,进入正常的通信状态。笔者建立了一个应用程序,它的功能是当客户方的鼠标移动时,服务器应用程序上能够实时显示该鼠标的位置。下面是建立服务器应用的方法:
1创建一个新的标准EXE文件;
2加入一个Winsock控件;
3加入如下代码:
Private Sub Form Load()
tcpServerLocalPort = 1001
tcpServerLocalhost = 〃servser〃
tcpServerremotePort = 1002
tcpServerLocalhost = 〃klint〃
tcpServerListen
End Sub
′连接检查
Private Sub tcpServer ConnectionRequest
(ByVal requestID As Long)
If tcpServerState <> sckClosed Then
tcpServerClose
tcpServerAccept requestID
End Sub
′发送数据
Private Sub frmserver monsemove(x,y)
tcpServerSendData 〃x〃& str(x)
tcpServerSendData 〃y〃& str(y)
End Sub
建立客户应用的方法为:
1创建一个新的标准EXE文件;
2加入一个Winsock控件;
3加入两个TEXT框—— txt x和 txt y;
4加入如下代码:
Private Sub Form Load()
tcpServerLocalPort = 1002
tcpServerLocalhost = 〃klint〃
tcpServerremotePort = 1001
tcpServerLocalhost = 〃servser〃
tcpServerListen
End Sub
′连接检查
Private Sub tcpklint ConnectionRequest
(ByVal requestID As Long)
If tcpklintState <> sckClosed Then
tcpklintClose
tcpklintAccept requestID
End Sub
Private Sub tcpClient DataArrival
(ByVal bytesTotal As Long)
Dim strData As String
tcpklintGetData strData
if left(strData,1)=〃X〃then
txt xText = strData
else
txt yText = strData
endif
End Sub

以上例程实现的是一个非常简单的点对点通信,在此基础上略加改造,可以形成功能复杂的实时计算机网络A-A交互通信系统,用于控制、图形仿真等。
使用UDP协议建立对等通信和通过TCP建立客户/服务器通信的方法略有不同,它不需要建立客户和服务器,而是建立对等通信。此过程通过以下几步实现:
1设定Winsock的RemoteHost 属性为一个通信的计算机名称;
2设定 RemotePort 为一个接口号;
3调用Winsock的Bind 事件绑定本地的接口号。具体设定方法为:
Private Sub Form Load()
With Winsock1
RemoteHost= 〃PeerB〃
RemotePort = 1001 ′远程连接号
Bind 1002
′绑定的本地号
End With
End Sub
程序的其它部分与TCP方法类似,即通过SendData 和GetData 方法发送或提取数据。UDP和TCP协 议在使用中各有特点,如果灵活使用,可以得到很好的效果。令人欣慰的是,VB50 中Winsock给我们提供了一种简便的数据传送方法,使我们得以轻松地实现网络点对点通信。

通过串口并口共享资源 在两台计算机之间进行通信,最好的方法当然是建立局域网。如果没有建立网络, 又想进行联机通信,在距离不太远(比如不超过20米)的情况下,可考虑通过计算机的并 行口或RS-232串行口直接对接两台机器,以此来实现通信、数据和文件传输及软、硬件 资源共享。采用端口连接双机进行数据传输,不需要网卡,不需要调制解调器,也不用 软磁盘作媒介,是通信和数据传输的一种简单易行的好方法。尤其值得称道的是可以实 现双机间软、硬件资源的共享,如共享硬盘、光驱和打印机等。 进行两台微机点对点通信,在硬件上要用连接线将并口或串口连接起来,然后在通信软 件的支持下才能实现。本文从信号线的连接方法、连接线的制作和通信软件三个方面全 面介绍了两台微机不用网卡进行点对点通信的实现技术。 一、信号线的连接方法 微机通常有一个并口和两个标准的RS-232串口,我们可以选其中的任何一个端口来 进行两台机器间的通信。在可能的情况下,应尽量用并口通信,因为并口的传输率远高 于串口。 串口1(COM1)多为9芯,而串口2(COM2)和并口则是25芯引脚。各端口引脚功能不同,对 接法也不同。 1串口通信 串口间通信只要连接三条线就可以了,即收、发数据线和信息地线。在连接时,对 一台机来说是发送数据,对另一台机就是接收数据,所以收、发数据线要换接。串口间 通信具体有如下三种连接方法。 (1)9芯对9芯串口 A机 B机 2●←→●3 3●←→●2 5●←→●5 (2)9芯(A机)对25芯(B机)串口 A机 B机 2●←→●3 3●←→●2 5●←→●7 (3)25芯串口对25芯串口 A机 B机 2●←→●3 3●←→●2 7●←→●7 2、并口通信 并口引脚只有10、11、12、13、15等5条输入线,所以在进行双机连接通信时,也 只能使用5条输出线,因此,两机并口间通信的连接法如下。 上述列出的数字是接头的引脚号,这些引脚号在串、并行端口上通常都有注明。由 于并口用5对线来进行数据传送,数据传输速度比用串口通信快得多,所以应尽量使用 并口连接,尤其是在需要在两机间进行大量数据传送时。 二、连接线的制作 连接两台机器之间的连接线可以到电脑配件商店去购买。在购买时要弄清楚两边的 接头是针还是孔,通常连接两个并口用的是25针对25针的,而连接两个串口的是孔对孔 的。 连接线也可以自己制作。不管计算机上的插座是针还是孔,直接用导线进行连接是 比较困难的,造成接口处接触不良。这里推荐两种利用废旧鼠标的连接线制作串口连接 线和利用废旧打印机电缆线制作并口连接线的方法。 1制作9芯串口连接线 鼠标器只用了串口9个引脚中的4个,就是引脚2、3、5、7。利用串口通信时,只需 要连接引脚2、3、5就可以了。鼠标器是一个容易损坏的器件,且损坏处主要是鼠标 头,其连线和接头一般不会坏。把两个报废的鼠标器的连线剪下来,可以发现在保护外 皮下有4条导线,其颜色为棕、黄、绿、白,分别对应引脚2、3、5、7。根据前面介绍 的连接方法,将两条鼠标器连线中的绿线对接,棕、黄线换接(即第一侧的棕线接第二 侧的黄线,而第一侧的黄线接第二侧的棕线),白线不用。线接好后用胶布把接口处扎 好,一条9孔对9孔的串口连接线就做好了。用报废的鼠标连线制作串口连接线,方便实 用、省时经济,是一种废物利用的好方法。 2制作并口连接线 用打印机电缆制作并口连接线也很方便。先将电缆的两头都拆开,把连接打印机的 一端线头都焊下来;然后以该电缆线的另一端的引脚号和线的颜色为依据,将焊下来的 相应颜色的导线按照前面介绍的并口连接法焊到一个25芯的D型插头的相应引脚上;最 后把连接机壳的地线焊接到D型插头上。这样,一条25芯并口对并口的连接电缆就做好 了。 3制作25芯对25芯串口连接线 制作25芯对25芯串口连接线要用两个25孔的插头,还需一个废旧鼠标的连接线,根 据导线的颜色和前面介绍的连接法,将导线两端焊在相应的引脚上就可以了。 三、通信软件 将连接线的两端插到两台机器对应的串口上,还不能立即进行数据通信,还必须有 通信软件的支持。能够实现两机互联直接通信的软件很多,常用的有以下几种,可根据 实际情况择一而用之。 1Windows 95的直接电缆连接 Windows 95的“直接电缆连接”功能允许用电缆直接连接两台机的并口或串口,实 现联机通信。其建立连接和实现通信的过程如下。 (1)在服务器安装直接电缆连接 ①Windows 95桌面环境下,通过“我的电脑”→“控制面板”→“网络”,选择 “拨号网络适配器”,在“基本网络登录方式(L)”窗口选择“Microsoft网络客户”。 ②通过“我的电脑”→“控制面板”→“添加/删除程序”→“安装Windows”→ “通信”→“直接电缆连接”,安装“直接电缆连接”程序。 ③通过“我的电脑”→“控制面板”→“网络”→“文件和打印共享”确定共享权 限,这里有“能够提供他人访问我的文件的权限”和“能够让他人打印到我的打印机 上”两个选择项。 ④通过“我的电脑”,右击该窗口中任何一个驱动器符,选择“共享”,即进入共 享级别设置窗口,在该窗口可设置共享级别及口令等。如要共享别的驱动器,可在“我 的电脑”窗口再右击别的驱动器符,设置共享级别及口令即可。用同样方法也可设置共 享文件夹。 ⑤通过“开始”→“程序”→“附件”→“直接电缆连接”运行直接电缆连接程 序,设置为“主机”,并选择COM1作连接的端口。 这样,一个提供共享资源的服务器就设置好了。以后要进行连接,若不作修改的话,只 要运行“直接电缆连接”程序就行了。如果要改变连接端口、将服务器改变为客户机或 修改共享资源,则要修改相应的设置。 (2)在客户机安装直接电缆连接 在客户机安装直接电缆连接程序的方法与在服务器上安装一样。直接电缆连接程序 安装好后便运行,设置为“客户机”,并选择COM1为连接的端口。 以后只要直接运行直接电缆连接程序就可以了,不要再设置,除非想修改设置。 (3)优缺点 在服务器和客户机分别运行直接电缆连接程序就能建立服务器和客户机之间的连 接。如果有口令,在连接时还会进行口令验证。连接建立以后,在客户端可通过 Windows 95桌面的“网上邻居”访问服务器的共享资源。 用Windows 95的直接电缆连接程序连接两台微机并实现通信的主要优越性在于:① 连接建立后,客户机可使用服务器提供的共享资源,客户机和服务器也可各自独立运行 ;②如果所连接的服务器已经上了局域网,客户机还可通过服务器访问所有的网上资源 ;③可共享服务器上的所有资源,如光驱、网络驱动器等。 使用Windows 95的直接电缆连接程序连接两台微机进行通信的唯一不足是对机器要 求较高,因为客户机和服务器都要安装Windows 95/98才能进行连接,而一些低档机如 386以下的机器是不能安装和运行Windows 95/98的。 2PCTools 90的DRIVEMAP PCTools 90提供了一个比较实用、方便的双机联机通信软件DRIVEMAP,它可通过 串口或并口连接两台电脑,用一个本机的空盘符映像另一台机的一个物理盘。我们把用 一个盘符映像另一台机的某一驱动器的机器叫服务器,而另一台驱动器被映像的机器叫 客户机。通过DRIVEMAP进行联机通信的方法如下。 (1)先在客户机运行DRIVEMAP。 在客户机系统提示符下键入DRIVEMAP(设当前目录或备查目录中有该文件)。若是 首次运行DRIVEMAP,则出现DRIVEMAP的安装窗口,并要求输入用户名和口令名。用户名 是必须输入的,以标识联接的不同微机。口令项是可选择的,不想要口令直接按回车键 即可。然后选Next项进入下一级连接设备选择菜单,选择COM1串口。然后选择OK进入设 备重定向选择菜单。如果不是第一次运行DRIVEMAP,就直接进入设备重定向选择菜单。 按x或Esc键退出DRIVEMAP安装,客户机的连接准备工作就做好了。 (2)在服务器运行DRIVEMAP,屏幕显示及 *** 作同客户机安装DRIVEMAP。在列出的本 机所有使用的驱动器与未用的但可使用的驱动器符中选择一个驱动器字符作映像用。系 统如果没有空盘符可用,须对CONFIGSYS文件中的“LASTDRIVER=”语句进行修改,使 系统中有可用的空盘符。将DRIVEMAP的 *** 作光条移到空盘符标记上(假设是F:),回车。 选择联机用的端口COM1并回车,然后确定本机的F盘符与另一台机的哪个驱动器相连, 选择后按O键退回上一窗口,再按Esc(或x)键退出DRIVEMAP的界面。此后,两台机就可 以通信了。而且两台机可独立 *** 作,不受影响。 (3)优缺点 用PCTools 90中的DRIVEMAP作为双机间的通信软件,有许多突出的优点:①服务器 把客户机的一个驱动器(包括光驱)当作自己的驱动器一样来使用,如果服务器的环境 (内存大小、BIOS版本、显卡和显示器等)许可,在被映像的驱动器上的所有可执行文件 均可运行;②双机建立连接后,均可独立运行;③可映像CD-ROM。 DRIVEMAP的不足是它只能映像客户机的一个驱动器,若要映像客户机的另一个驱动 器,必须先退出已映像驱动器,再重新选择要映像的驱动器。另外,若要改变所连接的 端口,在做了改变后,必须重新启动系统方能生效。 3Norton Commander的Link Norton Commander的Link也提供了联机通信的功能,具体 *** 作如下。 (1)在从机运行NC 在系统提示符下运行NC,按F9键进入NC的主菜单,选择Left或Right中的Link项, 选择COM1,然后选择Slave,将光标移到Link处并回车。 (2)在主机运行NC 在主机运行NC后也按F9键进入NC主菜单,选择Left或Right中的Link项,选择 COM1,然后选择Master,将光标移到Link处并回车。这样,两台机就连接好了,可以在 主机上通过左(或右)面板访问从机各驱动器上的数据。 (3)优缺点 利用NC作为两机间的通信软件,其优点是可对从机各驱动器上的数据进行访问,包 括CD-ROM。但也有许多不足:①在通信期间,从机不能作任何 *** 作;②在主机上,只能 用NC面板上提供的 *** 作命令对从机被连接的驱动器中的数据进行 *** 作,功能很有限;③ 不能运行被连接盘上的可执行文件,也不能对被连接盘上的文本文件进行编辑。 4DOS的INTERLNK软件 60以上版本的DOS提供了通过计算机的并行口或串行口进行互联,从而实现计算机 间资源共享的程序,这就是INTERLNK和INTERSVR。前者在客户机(Client)上运行,后者 在服务器(Server)上运行。不管是在客户机还是在服务器上,必须在CONFIGSYS文件里 加入命令行:DEVICE=C:\DOS\INTERLNKEXE。客户机和服务器建立连接的步骤如下。 (1)在用作服务器的机器系统提示符下键入INTERSVR命令。 (2)在服务器运行INTERSVR的条件下,在用作客户机的机器的系统提示符下键入 INTERLNK命令,屏幕显示本机的(客户机)的空盘符与另一台机(服务器)的实际驱动器的 映像关系。此后,用客户机的空盘符可 *** 作服务器的实际驱动器。 (3)优缺点 使用DOS的INTERLNK软件进行双机间的连接和通信,其突出的优点是可在客户机上 用多个盘符映像服务器上的多个驱动器,且不用设置连接端口,INTERLNK会自动识别所 连接的端口。其不足之处在于:①在联机期间,服务器不能做任何别的工作;②不能映 像网络驱动器和CD-ROM。 双绞线的对接 在上期《客户端网卡实验报告》一文中曾提及双绞线的对接方法,现在就来针对不 同的标准进行说明。 一、10BASE-T、100BASE-TX和100BASE-T4标准的内容概述 10BASE-T规定了使用3类(CAT3)非屏蔽双绞线(UTP)组建一个10M网,每段最多可以 达到100m的通信距离;100BASE-TX规定了使用5类(CAT5)非屏蔽双绞线(UTP)或1类屏蔽 双绞线(STP) 组建一个100M网,每段最多可以达到100m的通信距离;100BASE-T4规定了 使用3、4或5类非屏蔽双绞线组建一个100M网,每段最多可以达到100m的通信距离。 这三种标准对各个针脚的定义见表1。 针脚10 BASE-T 100 BASE-TX 100 BASE-T4 序号 1 发送(+) 发送(+) 发送(+) 2 发送(-) 发送(-) 发送(-) 3 接收(+) 接收(+) 接收(+) 4空空 双向数据线1(+) 5空空 双向数据线1(-) 6 接收(-) 接收(-) 接收(-) 7空空 双向数据线2(+) 8空空 双向数据线2(-) 二、双绞线的对接方法 根据上述内容,我们可以得到图1和图2。按图 *** 作就可制作出10M或100M网的双机 对接线。在制作线头时要注意方向和线的排列顺序问题。双绞线的排线顺序从1到8分别 为:红白、红、褐白、褐、绿白、绿、蓝白、蓝。制作时左手拿线,右手拿水晶头,注 意水晶头有d片的一面向下。由外向靠近自己的方向数,对应的排线顺序就是1~8,即 8号线离自己最近。 许多网络设备不支持100BASE-T4标准,所以在制作100M对接线时,多数也只用到4根线


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/12933856.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-28
下一篇2025-08-28

发表评论

登录后才能评论

评论列表(0条)

    保存