如何实现SocketConnetion的连接配置

  • 来源: 互联网 作者: rocket   2008-03-20/14:06
  •  前几天因学校机房上课需要,学校要我做一个“机房学生作业系统”,要求用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文件是否怎加了解析的那一行。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多