如何实现SocketConnetion的连接配置

类别:Delphi 点击:0 评论:0 推荐:

        前几天因学校机房上课需要,学校要我做一个“机房学生作业系统”,要求用C/S结构,于是我决定用Socket协议来实现客户端与服务器的连接通信。

        要实现Socket之间的通信,服务器端必须有Socket服务器,Borland Delphi和C++Builder自身带着,名字是:scktsrvr.exe,在Bin目录下。同时服务器段还必须包含RemoteDataModel模块,同时上面放置DataSetProvider等组件。客户端需要放置DataSource、ClientDataSet和SocketConnetion组件。

       下面我们看一下如何配置。首先,设置Socket服务器的服务端口号,一般来说,设置为默认值211就行了,当然你可以设置为其他值,但是,最好你看一下你机器的端口配置情况。关于端口配置文件,你可以在window2000下的WINNT/System32/drivers/etc/下找到名为“hosts”的文件,它没有扩展名,你可以右键点击,在“选择打开方式”中选择“记事本”,这样你可以看到你机器所有端口的配置情况,当然你可以将它们进行更改。

       其次,关于客户端的配置就显得比较复杂一点。SocketConnetion提供两种连接远程服务器的方式:计算机名和IP地址。关于服务器名—Host,你可以用Host="ComputerName"的方式指定,也可以通过右边的省略号按钮进行搜索。关于IP地址方式,只要将IP地址,如127.0.0.1赋给Address就性行了。但是这两个只能任选一个。

       不过,其中很重要的一点是:如果你用的是计算机的名称的话,最好你的服务器上装有DNS系统,或者在客户端的"hosts"文件(windows98在Windows目录下)中在下面写入下面一行:

      211.147.X.XX                      ComputerName

      前面是服务器的IP地址,后面是服务器的名称。这样的话,客户端的SocketConnetion方能找到服务器,否则会出错。

     下面我给出两种常见的错误提示:

       说明你的Socket服务器没有启动,或者你的端口号不以致造成的。解决方法:1.看一下服务器是否启动;2.看看端口号是否一致。

        说明你的客户端找不到服务器,如果你采用IP地址的方式连接,请确认你的IP地址是否是主机地址;如果你采用的是Host机器名的方式,请确认你的机器名是否正确,同时确认你的服务器是否应用了DNS解析服务,同时,如果你的主机没有DNS解析服务,那么清确认一下你的Hosts文件是否怎加了解析的那一行。

本文地址:http://com.8s8s.com/it/it5487.htm