Firefly开源社区

【GoFast】6.物联网之基础 - TCP Client

647

积分

23

威望

20

贡献

技术大神

Rank: 3Rank: 3

积分
647

突出贡献

发表于 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是一样的:创建、设置参数、三个事件。
1.png
   这是创建的,需要指定服务器IP和端口号
2.png

    这是事件,分别是Client连接到服务器,接收到服务器发送的数据和断开连接。
    如果因为意外情况导致连接断开了,应该做一下自动重连,在断开事件中再次Connect。

    为了减少库文件的数量,我将这个Client和Server放在了一个文件中。
    这样做的另一个目的是为了复用。Server中每一个收到的Accept,其实就是创建了一个Client,但这个Client是在Server类的内部使用,而不是用户单独创建的Client,不要混淆。

    部分实现的代码
3.png


    同理,TCP.go中所有大写开头的函数都是可以被外部调用的,不再单独说明了。

回复

使用道具 举报

29

积分

0

威望

0

贡献

技术小白

积分
29
发表于 2019-9-11 16:32:20     
参考鞋
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表