开启辅助访问
登录
|
注册
|
官方网站
官方网站
English Forum
内测申请
四格报告
机型投票
English
本版
帖子
用户
首页
社区精华
维基资料
板块列表
官方商城
Auction
资料下载
Firefly开源社区
›
技术交流
›
应用开发
›
Firefly-RK3288
›
【GoFast】6.物联网之基础 - TCP Client
发表新贴
【GoFast】6.物联网之基础 - TCP Client
tjCFeng
tjCFeng
当前离线
积分
230
tjCFeng
230
积分
23
威望
20
贡献
技术达人
技术达人, 积分 230, 距离下一级还需 270 积分
技术达人, 积分 230, 距离下一级还需 270 积分
积分
230
发消息
发表于 2015-8-14 19:08:54
本帖最后由 tjCFeng 于 2015-8-14 19:08 编辑
上一次说到了建立一个TCP的Server,但是由于磁盘读写速度的限制,不适合保存大量数据到本地。那么它能干什么呢?
有Server就会有Client,一个Server上也可以发起多个Client,这样就解决保存数据的问题了。Server收,Client发,就把数据转走了:-)
把处理大量数据的工作放到高性能的服务器上,而RK3288承担多连接的问题,将上万个并行的连接变成串行的数据转发给数据处理服务器,就是这个Server-Client库的功能了。当然不仅仅局限于此,以此库为基础其他功能可任意扩展。
回到正题,开始说说Client的使用方法。其实和Server是一样的:创建、设置参数、三个事件。
这是创建的,需要指定服务器IP和端口号
这是事件,分别是Client连接到服务器,接收到服务器发送的数据和断开连接。
如果因为意外情况导致连接断开了,应该做一下自动重连,在断开事件中再次Connect。
为了减少库文件的数量,我将这个Client和Server放在了一个文件中。
这样做的另一个目的是为了复用。Server中每一个收到的Accept,其实就是创建了一个Client,但这个Client是在Server类的内部使用,而不是用户单独创建的Client,不要混淆。
部分实现的代码
同理,TCP.go中所有大写开头的函数都是可以被外部调用的,不再单独说明了。
回复
使用道具
举报
yujiadong
yujiadong
当前离线
积分
31
yujiadong
31
积分
0
威望
0
贡献
技术小白
技术小白, 积分 31, 距离下一级还需 169 积分
技术小白, 积分 31, 距离下一级还需 169 积分
积分
31
发消息
发表于 2019-9-11 16:32:20
参考鞋
回复
使用道具
举报
Junie
Junie
当前离线
积分
54
Junie
54
积分
0
威望
0
贡献
技术小白
技术小白, 积分 54, 距离下一级还需 146 积分
技术小白, 积分 54, 距离下一级还需 146 积分
积分
54
发消息
发表于 2022-2-5 15:04:23
过来看看
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
突出贡献
长期对论坛的繁荣而不断努力,或多次提出建设性意见
友情链接 :
爱板网
电子发烧友论坛
云汉电子社区
粤ICP备14022046号-2
快速回复
返回顶部
返回列表