简介
用 TCP 协议进行 Socket 编程在 Python 中十分简单,对于客户端,要主动连接服务器的 IP 和指定端口,对于服务器,要首先监听指定端口,然后,对每一个新的连接,创建一个线程或进程来处理。通常,服务器程序会无限运行下去。同一个端口,被一个 Socket 绑定了以后,就不能被别的 Socket 绑定了。
TCP编程
客户端:
1 | #!/usr/bin/python |
服务端:
1 | #!/usr/bin/python |
执行结果:
1 | Waiting for connection... |
UDP编程
TCP:是建立可靠连接,并且通信双方都可以以流的形式发送数据。
UDP:是面向无连接的协议,使用 UDP
协议时,不需要建立连接,只需要知道对方的 IP
地址和端口号,就可以直接发数据包。虽然用 UDP
传输数据不可靠,但它的优点是和 TCP
比速度快,对于不要求可靠到达的数据,就可以使用 UDP
协议。
1 | #!/usr/bin/python |
执行结果:
1 | Bind UDP on 9999... |
小结:
UDP
的使用与 TCP
类似,但是不需要建立连接。此外,服务器绑定 UDP
端口和 TCP
端口互不冲突,也就是说,UDP
的 9999
端口与 TCP
的 9999
端口可以各自绑定。