美文网首页Android开发
网络应用(7):tcp使用 | socket

网络应用(7):tcp使用 | socket

作者: 广州小程 | 来源:发表于2019-05-20 17:07 被阅读4次

    协议就是约定,大家都使用同一套协议,通信才不会乱。能让大家都遵守同一个约定是了不得的,而tcp/ip协议,就是一套广泛使用的协议。

    tcp/ip协议是一个协议栈,也就是有分层结构,各层各司其职,其中有一层叫传输层,引出一个协议叫tcp协议。tcp协议基于ip协议(ip协议是ip层,是传输层的下层,也叫网络层),增加了一个端口。

    ip定位到设备,tcp(端口)定位到设备上的进程(应用)。所以,使用tcp协议就能在两个进程间进行通信。

    这里没有高深的东西,还是基本面--如何使用。简单看看怎么使用tcp协议来完成对话,用python比较好演示,其中涉及到的行为在不同语言中都有相应的实现。

    基本上,tcp协议的实现,离不开socket。

    socket,套接字,可以变身为网络结点(比如两个进程)的通道,有了它,就能通信。

    服务器程序,简单实现:


    服务器程序

    客户端程序,简单实现:


    和客户端程序

    执行起来,效果如下:


    tcp通信效果

    tcp通信,是流式的通信,先建立连接后使用,而有连接让数据的完整性得以保证。

    以上程序演示了tcp协议的使用,包括函数socket、bind、listen、accept、connect、send,等等。如果再深入一点,还可以了解socket属性的设置(setsocketopt)、非阻塞的使用、select的使用等,这里不细说,谁用谁研究。


    hello

    相关文章

      网友评论

        本文标题:网络应用(7):tcp使用 | socket

        本文链接:https://www.haomeiwen.com/subject/gixlzqtx.html