为了抛弃花生壳就自己写了个动态IP发现动态IP发现
不同于应用层,在Socket需要自己封装自己的协议,要自己决定如何传输数据
因为在整个网络的层次比较中间的位置,能给予开发者很大的灵活性
比如:
我需要用socket维持一个心跳链接
我的数据封装为如下格式
type lease struct{ lenght int content []byte }
lenght代表整个传输的长度,可以用于校验传输正确性
content就是整个需要传输的心跳内容
有时候需要更多的校验可以在lease的前后添加不同的结束符或者连接符,用于处理粘包等状态
相比较于Http层协议socket比较不爽的在于会造成业务和发送的逻辑交织