python3 tcp通信

    说到tcp通信,我很自然会想到服务端和客户端。python的tcp通信流程和Qt差不多。


    先看看tcp服务端的步骤:

image.png

  本想画个图简化一下,没想到看着更复杂了。tcp服务端主要步骤为:创建服务端socket -> 绑定 ->监听 ->等待连接。等到有连接进来就会创建一个socket与之通信。拿到这个socket 就可以自由发挥了。   


    接着再看看tcp客户端的使用步骤:

image.png

    客户端的操作就更简单了,创建socket -> 连接到服务端。 如果连接成功就可以和服务端通信了,用完记得关闭socket。



测试

    按照流程编写最简的程序

    服务端代码:

    image.png

    使用socket函数创建socket,第一个参数为AF_INET,创建tcp socket第二个参数为SOCK_STREAM。

    使用bind函数绑定,参数为(IP,端口)。

    使用listen函数监听,参数是在连接被转接或拒绝之前,传入连接请求的最大数。

    使用accept函数等待连接,程序运行到这里阻塞,直到有连接进来。连接成功获得clisock与对端进行通信,使用send发送数据。

    

    客户端代码:

    image.png


    创建socket和服务端一样,使用connect连接到服务端,参数为(IP,端口)。连接成功就可以使用clisock与服务端通信。使用recv接收数据。


运行效果:

image.png

 服务端接受连接打印出new connection,客户端收到了服务端的数据welcome to my server。

演示站
  • 版权声明:本站原创文章,于2020-04-22,由fearlazy发表,共 953个字。
  • 转载请注明:python3 tcp通信
上一篇:python元组里的列表能不能变?
下一篇:python3 udp通信

发表评论