BCB ServerSocket和ClientSocket

2024-02-01 01:08

本文主要是介绍BCB ServerSocket和ClientSocket,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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 作用

这篇关于BCB ServerSocket和ClientSocket的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/665616

相关文章

BCB如何加载静态文件Lib

1.首先要将.h文件添加到工程中。Project---->Add to Project 2.将要使用Lib的文件的中,添加#pragma comment(lib, "xxxxx.lib")  如果在使用中,不添加第2条可能到导致编译时报[Linker Error] Unresolved external

Socket,ServerSocket,WebSocket

最近在看webSocket,忽然想到以前学的Socket和ServerSocket,那么他们之间有什么不同呢?还有来回忆下Socket,和学习下webSocket (天真的我以为写一个ServerSocket,再写一个webSocket就能实现通信了) 一 区别 首先来说下区别吧, Socket和ServerSocket 指传输层网络接口协议,是基于套接字的服务端和客户端实现。 而Web

Web架构(二)PHP Socket与Java ServerSocket交互

Web架构(二)PHP Socket与Java ServerSocket交互 现在流行微服务,SOA服务治理,RPC.都是基于某种协议,进行数据交换. 前边使用php进行数据渲染,调用后端的接口获取数据,前后端分离比较灵活,中间的数据交换协议要统一一致起来。前端不用关心后端是什么语言,只需要通过约定的协议调用接口即可。 本文讲述Java使用服务器端Socket提供服务,PHP使用Socket

获取ServerSocket信息的方法及FTP原理

与ServerSocket对象相关的信息有两个:绑定端口和绑定IP地址。绑定端口可以通过getLocalPort方法获得。绑定IP地址可以通过getInetAddress方法获得。     一、getLocalPort方法     getLocalPort方法的返回值可分为以下三种情况:     1. ServerSocket对象未绑定端口,getLocalPort方法的返回值为

JAVA:使用ServerSocket实现多线程的服务器功能

目录 一、服务端 二、Task任务类。 三、客户端请求 一、服务端     创建数据源,并实现ServerSocket,当有连接进来时,创建Task任务类,交由线程池处理,主程序在s.accept();继续等待新的连接(这个等待是阻塞制的)。 package socket;import java.io.IOException;import java.net.Server

JDK8中文文档——ServerSocket

JDK8中文文档由“毕设帮”翻译——“毕业设计在线求助平台” PS:毕设帮招募编程大神,为大四学生完成毕业设计,获取相应报酬,点击链接查看详情:毕设帮官网 类名  ServerSocket 所属包 java.net.ServerSocket 所有被实现的接口 Cloneable,AutoCloeable 直接父类 SSLServerSocket 类

bcb编译lua

第一步,下载源码。虽然Lua有提供二进制版本下载,但是因为我是用Turbo C++ Explorer(即C++Builder的免费版),所以我决定还是自己编译一下源码。下载位置当然是Lua的官方网站:http://www.lua.org。 第二步,编译安装。源码里只提供了GCC用的MAKE文件和VC用的一个BAT文件,BCB则需要自己动手了。开始不知道什么地方搞错,总是编译不对——虽然编译成功,

【网络编程】TCP流套接字编程 | Socket类 | ServerSocket类 | 文件资源泄露 | TCP回显服务器 | 网络编程

文章目录 TCP流套接字编程1.ServerSocket类2.Socket类3.文件资源泄露4.**TCP回显服务器** TCP流套接字编程 ​ ServerSocket类和Socket类这两个类都是用来表示socket文件(抽象了网卡这样的硬件设备)。 TCP是面向字节流的,传输的基本单位是byte 字节。和UDP不同,UDP传输的单位是数据报。 1.Serve

【Java网络编程】TCP通信(Socket 与 ServerSocket)和UDP通信的三种数据传输方式

目录 1、TCP通信 1.1、Socket 和 ServerSocket 1.3、TCP通信示例 2、UDP的三种通信(数据传输)方式 1、TCP通信 TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象         通信之前要保证连接已经建立(注意TCP是一定要建立连接的)         TCP是通过Socket产生I0流来进行网络通信的,所以发送

创建ServerSocket对象

ServerSocket类的构造方法有四种重载形式,它们的定义如下: public ServerSocket() throws IOExceptionpublic ServerSocket(int port) throws IOExceptionpublic ServerSocket(int port, int backlog) throws IOExceptionpublic Ser