用BCB的TServerSocket和TClientSocket编写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进行连接。连接成功就可以进行通讯了。在这个过程中会产生一些事件,下面说说他们各自的事件。

TServerSocket的几个事件
OnAccept
    当一个客户同服务端连接成功后产生这个事件,产生这个事件后这个连接就可用了,可以对这个客户进行发送和接收数据。
OnClientConnect  
当一个客户正在同服务端建立连接的时候产生此事件,在这里你可以决定是否接受这个连接。
OnClientDisconnect
当一个客户同服务端的连接断开的时候产生此事件,你需要在这里进行一些处理,如从连接列表中清除次连接释放内存等。
OnClientError
当客户同服务端出现错误时产生此事件,在此事件中你可以通过设置ErrorCode = 0来屏蔽系统的错误提示。这样就可以避免讨厌的英文错误了。根据ErrorEvent的不同的值来得知发生了什么错误,它有一下几中错误类型
eeGeneral   未知错误
eeSend    发送数据出现错误
eeReceive   接收数据出现错误
eeConnect   客户请求连接时出现错误
eeDisconnect 客户断开连接时出现错误
eeAccept     接受一个客户时发生错误
    一般来讲,当发生错误的时候这个客户的连接就已经不可用了,要对这个客户进行连接失败处理。
OnClientRead
当服务端收到客户端发来的数据的时候产生此事件。接收客户端的数据都在这里进行。
AnsiString   str1=Socket-> ReceiveText();   将数据存入str1中
OnClientWrite
当服务端发送数据的时候产生此事件。

TClientSocket的几个事件

OnConnect
同服务端(ServerSocket)连接成功后将产生此事件,产生此事件后才说明这个连接可用了,这时才可以向ServerSocket发送数据。
OnConnecting
正在同服务端进行连接是产生此事件。
OnDisconnect
同服务端的连接断开后产生此事件,产生此事件后ClientSocket的Active属性就为false了,这时这个连接就不可用了,必须重新进行连接才能向服务器发送数据。
OnError
当Socket发生错误时产生此事件,这个事件的意义和ServerSocket的Error事件完全一样,只是它没有eeAccept错误。
OnRead
当接收到服务端发来的数据后产生此事件。
OnWrite
当向服务端发送数据的时候产生此事件。

上面介绍了一下这两个控件的基本属性和事件,在掌握一些方法就可以用这两个控件进行编写通讯程序了,今天写的有写累了,改天在写它的方法并具体使用这两个控件编写一个通讯程序,有两个选择,一个是局域网的聊天程序,一个是局域网内的控制程序,大家喜欢那一个呢?给点建议吧. [喝小酒的网摘]http://blog.hehehehehe.cn/a/12045.htm
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
bcb tpicshow是一个提供图片展示服务的平台,可以帮助用户创建并展示图片相册。具体使用方法如下: 1. 注册账号:首先需要在bcb tpicshow的官方网站上进行注册,填写必要的个人信息和创建用户名密码。 2. 创建相册:注册成功后,登录账号进入主页,可以看到相册的创建选项。点击创建相册,在弹出的页面中填写相册名称和描述等相关信息。 3. 上传图片:创建相册完成后,点击进入相册页面。在页面上方会有一个上传按钮,点击后可以上传本地的图片文件。可以一次选择多张图片进行批量上传。 4. 编辑图片:上传成功后,可以对每张图片进行编辑操作。在每张图片下方会显示编辑按钮,点击后可以进行裁剪、旋转、调整亮度和对比度等操作。 5. 设定布局:编辑完图片后,可以设置图片的布局方式。在页面中可以选择图片之间的间距、排列方式和布局样式,根据个人喜好进行调整。 6. 发布和分享:当所有操作完成后,可以点击发布按钮将相册保存并发布。保存后会生成一个相册链接,可以直接分享给朋友或者复制链接进行分享。 总体来说,使用bcb tpicshow很简单,只需要几个基本步骤就能创建和展示自己的图片相册。它提供了多种编辑和布局选项,用户可以根据自己的需求进行个性化设置。通过分享相册链接给他人,也可以方便地展示自己的作品。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值