3.網絡編程-tcp的服務器簡單實現
阿新 • • 發佈:2019-01-14
listen lse 流向 close 簡單實現 組成 rec () 連接
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/1/13 22:03 # @Author : ChenAdong # @email : [email protected] # 實現tcp服務器輪流向多個客戶端服務(同時只有一個客戶端接受服務) import socket def tcp_server(): # 創建套接字 socket_serve = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 綁定端口,一般ip地址不綁定,直接給空值;並且地址是元組形式 socket_serve.bind((" ", 8081)) # 監聽端口 socket_serve.listen(3) while True: new_socket, client_addr = socket_serve.accept() # 阻塞,直到有客戶端連接,多個用戶連接時候,組成一個列表,下面再逐個拿出每個用戶地址,創建新的套接字,進行通信 while True: recv_data = new_socket.recv(1024) # 如果客戶端關閉,會自動發送空值給服務器,可以用這個判斷客戶端關閉;這裏當客戶端關閉時候,服務器也關閉套接字 # 無法直接發送一個空值 if recv_data: new_socket.send("hello".encode("utf-8")) else: break new_socket.close() if __name__ == "__main__": tcp_server()
3.網絡編程-tcp的服務器簡單實現