如何实现SocketConnetion的连接配置

王朝delphi·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

前几天因学校机房上课需要,学校要我做一个“机房学生作业系统”,要求用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文件是否怎加了解析的那一行。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航