如何编写用TCP/IP的通讯措施
当前位置:以往代写 > C/C++ 教程 >如何编写用TCP/IP的通讯措施
2019-06-13

如何编写用TCP/IP的通讯措施

如何编写用TCP/IP的通讯措施

副标题#e#

最近在网上不绝的看到有人问如何用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举办毗连。毗连乐成绩可以举办通讯了。在这个进程中会发生一些事件,下面说说他们各自的事件。


#p#副标题#e#

TServerSocket的几个事件

OnAccept

当一个客户同处事端毗连乐成后发生这个事件,发生这个事件后这个毗连就可用了,可以对这个客户举办发送和吸收数据。

OnClientConnect

当一个客户正在同处事端成立毗连的时候发生此事件,在这里你可以抉择是否接管这个毗连。

OnClientDisconnect

当一个客户同处事端的毗连断开的时候发生此事件,你需要在这里举办一些处理惩罚,如从毗连列表中排除次毗连释放内存等。

OnClientError

当客户同处事端呈现错误时发生此事件,在此事件中你可以通过配置ErrorCode = 0来屏蔽系统的错误提示。这样就可以制止讨厌的英文错误了。按照ErrorEvent的差异的值来得知产生了什么错误,它有一下几中错误范例

eeGeneral  未知错误

eeSend  发送数据呈现错误

eeReceive  吸收数据呈现错误

eeConnect  客户请求毗连时呈现错误

eeDisconnect 客户断开毗连时呈现错误

eeAccept   接管一个客户时产生错误

一般来讲,当产生错误的时候这个客户的毗连就已经不行用了,要对这个客户举办毗连失败处理惩罚。

OnClientRead

当处事端收到客户端发来的数据的时候发生此事件。吸收客户端的数据都在这里举办。

OnClientWrite

当处事端发送数据的时候发生此事件。

TClientSocket的几个事件

OnConnect

同处事端(ServerSocket)毗连乐成后将发生此事件,发生此事件后才说明这个毗连可用了,这时才可以向ServerSocket发送数据。

OnConnecting

正在同处事端举办毗连是发生此事件。

OnDisconnect

同处事端的毗连断开后发生此事件,发生此事件后ClientSocket的Active属性就为false了,这时这个毗连就不行用了,必需从头举办毗连才气向处事器发送数据。

OnError

当Socket产生错误时发生此事件,这个事件的意义和ServerSocket的Error事件完全一样,只是它没有eeAccept错误。

OnRead

当吸收随处事端发来的数据后发生此事件。

OnWrite

当向处事端发送数据的时候发生此事件。

上面先容了一下这两个控件的根基属性和事件,在把握一些要领就可以用这两个控件举办编写通讯措施了,本日写的有写累了,改天在写它的要领并详细利用这两个控件编写一个通讯措施,有两个选择,一个是局域网的谈天措施,一个是局域网内的节制措施,各人喜欢那一个呢?给点发起吧.

    关键字:

在线提交作业