BCB ServerSocket和ClientSocket

1 篇文章 0 订阅
1 篇文章 0 订阅
ServerSocket的控件属性threadcachsize:创建服务器线程的最大数目。port:确定服务器的监视端口。service:客户通过此属性来识别服务器端口。ClientSocket的控件属性Socket:此
ServerSocket的控件属性
threadcachsize:创建服务器线程的最大数目。
port:确定服务器的监视端口。
service:客户通过此属性来识别服务器端口。
ClientSocket的控件属性
Socket:此属性参数是应用程序之间通信的端点。
Address:此属性参数为字符串类型,客户端确定服务器端的IP地址。 Host:服务器端的主机名称。
Post:服务器端的监视端口。
Servce:用来识别服务器端口。
Active:确定Socket是否可用(true表示可用)。
ClientType:指定客户机采用哪一种方式(异步/同步)来通信。
ServerSocket的事件
onclientconnect:客户与服务器连接且服务器接收申请后,产生此事件。 onclientdisconnect:当和服务器连接的某一个客户机关闭连接后产生此事件。
onGetSocket:一个服务器可以接收多个客户Socket的连接申请。 onGetThread:当ClientType属性值设为StrThreadBlocking时,服务器会产生一个单独的线程来与客户的连接。
onAccept:服务器接收客户的连接申请后,产生此事件。
onClientRead:客户机发送数据到服务器时产生的事件。
ClentSocket事件
onConnect:当客户端与服务器端连接上后,产生此事件。
onConnecing:当客户端与服务器端进行连接操作时,产生此事件。 onDisconnect:当客户端关闭操作后产生此事件。
onError:在客户与服务器在建立和通信过程中,如果产生错误时,产生此事件。
onLookup:当客户在计算机网络中寻找服务器时,产生此事件。
onRead:数据到达时产生此事件。

1. 建立连接

服务器端:
ServerSocket.Port:=9999 //你想要设置的监听端口
ServerSocket.open;//开始监听

服务器端至此一直在监听9999端口,若客户端有连接请求,则OnAccept事件被激活。procedure TForm1.ServerSocketAccept(Sender: TObject;Socket: TCustomWinSocket);
begin
//连接被接受时的代码。
end;

客户端:

ClientSocket.Host := Server;//设置主机名
//或设置服务器端地址ClientSocket.address:=服务器端地址
ClientSocket.Port:=9999;
ClientSocket.Active := True;//请求建立连接。

2. 通信

客户端:
clientsocket.Socket.SendText(’所发送的信息’);//通过调用该函数发送信息

客户端接收来自服务器端的信息
procedure TForm1.ClientSocket2Read(Sender:TObject;Socket:TCustomWinSocket);
begin
Edit2.Text:=socket.ReceiveText;//得到服务器端发来的信息
end;

服务器端:

服务器端收到客户端发来的信息,则会激活ServerSocketClientRead事件,通过ServerSocket的Socket.ReceiveText可以得到信息的内容。

procedure TForm1.ServerSocketClientRead(Sender:TObject;Socket:TCustomWinSocket);
begin
Edit1.Text:=Socket.ReceiveText;//得到客户端发来的信息
end;

服务器端向客户发送信息用ServerSocket.socket.connections[0].sendtext(’信息内容’);

3. 关闭连接

客房端通过ClientSocket.close关闭连接。

服务器将激活OnDisconnect事件
procedure TForm1.ServerSocketClientDiscon
nect(Sender: TObject;Socket:TCustomWinSocket);
begin
ServerSocket.Active := False;//服务器关闭监听
end

-------------------------------------------------------------------------------------------------------------------------

IdTCPClient属性
1 : IOHandler 如果有相应的输入/输出操作,那么IOHandler相对应的组件或接口将提供一个虚拟/抽象的输入/输出接口给相应的网络连接
2 : Intercept 如果有一个网络连接正在使用,那么Intercept 提供的组件或接口将可以拦截相应的网络数据流中的数据
3 : BoundIP 指定使用IdTCPClient组件的计算机系统的IP地址,也就是说,其中是空白那么什么样的计算机都可以使用,但如果指定的IP地址为239.126.12.2,那么就只有IP地址为239.126.12.2的计算机可以使用它.
4 : BoundPort 网络端口的概念,指定使用IdTCPClient组件的计算机系统网络端口,也就是说,如果BoundPort中指定了以整数为端口的网络端口,那么通讯时就只能使用这个商品进行通讯
5 : Host   如果不是使用BoundIP中的地址起先通讯,那么Host就是诣将要通讯的计算机系统的名称或它的IP地址,可以是计算机名也可以是IP地址.
6 : Port   与BoundPort的概念是基本一样的,只是它与HOst相配合来决定IdTCPClient组件要与哪一个计算机系统中的什么样的网络通讯端口进行通讯

方法
IdTCPClient 主要使用 Write,WriteBuffer,WriteCardinal,WriteFile,WriteHeader,WriteInteger,WriteLn,WriteRFCReply,WriteRFCStrings,WriteSmallInt,WriteStream,WriteStrings. 通过它们 IdTCPClient 可以发送非常多的类型的数据到相应的服务端,而这些都是非常的简单
如: Write的函数说明是:
procedure Write(Const Aout : String) ; Virtual;
它的目的很简单,就是发送一个字符串到相应的服务端.其中Aout就是被发送的字符串.
而   WriteLn的函数说明是:
procedure WriteLn(Const Aout : String = ''); Virtual;
它的目的就是在Write的基础上,在被发送的字符串后加入相应的回车控件符.

注意 : 虽然IdTCPClient可以直接使用,它不可以被单独的使用,它必须与相应的IdTCPServer组件相配合才能发挥特定的作用,当然,如果相应的网络系统中具有这样的TCP服务器应用,那么IdTCPClient也可以直接与它们进行通讯.

IdTCPServer
属性
1 : Bindings 包括了相应的服务端所允许的所有的Socket(套接字)的相关信

息,比如它们的IP地址和端口号
2 : ListenQueue 是规定在服务端失效之前最多可以允许的监听网络连接的纯种

数目.默认情况下它的值是15,但这个值可以根据自己的需要和系统的最大承受能力来

进行改变
3 : MaxConnects 它表示的内容就是服务端可以承载的最大的网络连接数目,如果

它的值是0,那么就表明它没有最大的限制值,可以使用任意数目的连接.
4 : MaxConnectionReply 与MaxConnects相配合,当连接数目大

于MaxConnects的数目时,它将返回一个错误的信息,而这个信息是由TIdRFCReply

类所定义的
5 : ThreadMgr 就是使用相应的   ThreadMgr 组件来对于网络连接线程进行管

 

------------------------------------------

IdTCPClient属性
1 : IOHandler 如果有相应的输入/输出操作,那么IOHandler相对应的组件或接口将提供一个虚拟/抽象的输入/输出接口给相应的网络连接
2 : Intercept 如果有一个网络连接正在使用,那么Intercept 提供的组件或接口将可以拦截相应的网络数据流中的数据
3 : BoundIP 指定使用IdTCPClient组件的计算机系统的IP地址,也就是说,其中是空白那么什么样的计算机都可以使用,但如果指定的IP地址为239.126.12.2,那么就只有IP地址为239.126.12.2的计算机可以使用它.
4 : BoundPort 网络端口的概念,指定使用IdTCPClient组件的计算机系统网络端口,也就是说,如果BoundPort中指定了以整数为端口的网络端口,那么通讯时就只能使用这个商品进行通讯
5 : Host   如果不是使用BoundIP中的地址起先通讯,那么Host就是诣将要通讯的计算机系统的名称或它的IP地址,可以是计算机名也可以是IP地址.
6 : Port   与BoundPort的概念是基本一样的,只是它与HOst相配合来决定IdTCPClient组件要与哪一个计算机系统中的什么样的网络通讯端口进行通讯

方法
IdTCPClient 主要使用 Write,WriteBuffer,WriteCardinal,WriteFile,WriteHeader,WriteInteger,WriteLn,WriteRFCReply,WriteRFCStrings,WriteSmallInt,WriteStream,WriteStrings. 通过它们 IdTCPClient 可以发送非常多的类型的数据到相应的服务端,而这些都是非常的简单
如: Write的函数说明是:
procedure Write(Const Aout : String) ; Virtual;
它的目的很简单,就是发送一个字符串到相应的服务端.其中Aout就是被发送的字符串.
而   WriteLn的函数说明是:
procedure WriteLn(Const Aout : String = ''); Virtual;
它的目的就是在Write的基础上,在被发送的字符串后加入相应的回车控件符.

注意 : 虽然IdTCPClient可以直接使用,它不可以被单独的使用,它必须与相应的IdTCPServer组件相配合才能发挥特定的作用,当然,如果相应的网络系统中具有这样的TCP服务器应用,那么IdTCPClient也可以直接与它们进行通讯.

IdTCPServer
属性
1 : Bindings 包括了相应的服务端所允许的所有的Socket(套接字)的相关信

息,比如它们的IP地址和端口号
2 : ListenQueue 是规定在服务端失效之前最多可以允许的监听网络连接的纯种

数目.默认情况下它的值是15,但这个值可以根据自己的需要和系统的最大承受能力来

进行改变
3 : MaxConnects 它表示的内容就是服务端可以承载的最大的网络连接数目,如果

它的值是0,那么就表明它没有最大的限制值,可以使用任意数目的连接.
4 : MaxConnectionReply 与MaxConnects相配合,当连接数目大

于MaxConnects的数目时,它将返回一个错误的信息,而这个信息是由TIdRFCReply

类所定义的
5 : ThreadMgr 就是使用相应的   ThreadMgr 组件来对于网络连接线程进行管

理.
 
 
 
 
 
访问来源# 
 
 
  • IP:117.22.81.30:BCB 服务器接收程序
  • IP:125.70.200.178:bcb socket插件为啥connect
  • IP:119.116.100.180:bcb获得网络端口数据
  • IP:218.17.161.66:BCB中idtcpserver接收stream
  • IP:14.153.252.98:bcb IdTCPServer
  • IP:218.61.133.98:BCB socketserver 连接数
  • IP:118.114.165.212:
  • IP:222.92.56.30:BCB中clientsocket组件
  • IP:119.6.103.18:BCB serversocket
  • IP:110.188.247.137:bcb 给指定端发数据
  • IP:119.6.103.18:BCB ClientSocket ServerSocket
  • IP:122.247.219.78:BCB TThread ServerSocket
  • IP:122.247.219.78:BCB TServerSocket IP
  • IP:60.182.234.48:bcb linux socket
  • IP:115.193.165.239:BCB向某个IP地址和端口发送字符串
  • IP:27.36.176.176:ServerSocket BCB 作用
  • IP:218.2.216.13:delphi中ClientSocket的OnError和delphi7中的idTCPClient哪个一样
  • IP:202.96.122.149:bcb idtcpserver 管理
  • IP:58.214.236.152:BCB 2010 ClientSocket在那
  • IP:121.15.167.182:BCB serversocket 制定IP
  • IP:116.1.249.215:ClientSocket
  • IP:61.167.60.252:bcb clientsocket
  • IP:117.88.106.73:BCB中的ClientSocket限制数据大小吗
  • IP:117.88.106.73:bcb中ClientSocket用法
  • IP:27.17.16.146:BCB中clientsocket控件的作用
  • IP:118.182.212.236:BCB SOCKET 最大可以有多少个连接
  • IP:114.32.52.239:bcb ClientSocket close
  • IP:218.32.73.191:bcb write writeln
  • IP:125.77.177.40:BCB 如何判断ClientSocket已断开
  • IP:210.75.239.225:threadcachsize 作用
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值