Firefly开源社区

标题: 【GoFast】6.物联网之基础 - TCP Client [打印本页]

作者: tjCFeng    时间: 2015-8-14 19:08
标题: 【GoFast】6.物联网之基础 - TCP Client
本帖最后由 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    时间: 2019-9-11 16:32
参考鞋
作者: Junie    时间: 2022-2-5 15:04
过来看看




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1