北京八维学院编写TCPIP的通讯程序
- 格式:doc
- 大小:24.00 KB
- 文档页数:2
北京八维学院编写TCP/IP的通讯程序 最近在网上不断的看到有人问如何用BCB的
TServerSocket和TClientSocket进行编程的问题,所以决定把我的一些编程经验告诉给大
家,让大家能够尽快的掌握他们的用法。
首先要讲一下他们的一些设置(属性):
TServerSocket 的几个属性
Active
是否是工作状态,可以把它设置为ture或false来启动和停止侦听。
Port
本机侦听的端口,可以设置为一大于1024的数;
ServerType
服务端的工作方式,有两个选择,一个是stNonBlocking 非阻塞方式,一个是
stThreadBlocking线程阻塞方式,默认是非阻塞方式。用非阻塞方式编程比较简单(我个人
认为),用阻塞方式对每个连接必须自己用线程来控制收发。
ThreadCacheSize
缓冲的线程个数 当ServerType是stThreadBlocking时有效。
TClientSocket的几个属性
Active
是否是工作状态,可以把它设置为ture或false来同服务端建立或断开连接。
Host
服务器(ServerSocket)的计算机名,是一个字符串
Address
服务器(ServerSocket)的IP地址
ClientType
客户端的工作方式一种是ctNonBlocking非阻塞方式,一种是ctBlocking阻塞方式,
默认是非阻塞方式
Port
同服务端(ServerSocket)连接的端口,这个端口就是ServerSocket的侦听端口
在设置ClientSocket的(Host)主机名和设置(Address)IP地址是等效的,但设主机名
需要网络具有DNS(域名解析服务)服务器,而且设主机名要比设主机的IP地址连接的速度
慢一些。建议用Address来同ServerSocket进行连接。
设置好所有的属性后,ServerSocket控件就可以通过将它的Active属性置为true来
进行侦听了。ClientSocket可以通过设置它的Active属性来同ServerSocket进行连接。
连接成功就可以进行通讯了。在这个过程中会产生一些事件,下面说说他们各自的事件。