简介
用 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 端口可以各自绑定。