標籤:發送訊息 編程 listen ddr client 訊息 建立 break 出版社
TCP編程-- server
1 import socket, threading, time 2 3 def dealClient(sock, addr): 4 print(‘Accept new connection from %s:%s...‘ % addr) 5 sock.send(b‘Hello, I am server!‘) # 給client端發送資料 6 while True: 7 data = sock.recv(1024) # 接收client發過來的資料 8 time.sleep(1) 9 if not data or data.decode(‘utf-8‘) == ‘exit‘:10 break11 print(‘-->> %s !‘ % data.decode(‘utf-8‘))12 sock.send((‘Loop_Msg: %s !‘ % data.decode(‘utf-8‘)).encode()) # 發送資料給client13 sock.close()14 print(‘Connection from %s:%s closed‘ % addr)15 16 if __name__ == ‘__main__‘:17 # 建立socket並綁定IP18 s = socket.socket()19 s.bind((‘127.0.0.1‘, 9999))20 s.listen() # 啟用監聽21 print(‘Waiting for connection...‘)22 while True:23 sock, addr = s.accept() # 接收一個新的串連24 t = threading.Thread(target = dealClient, args = (sock, addr)) #建立新的線程來處理TCP串連25 t.start()
TCP編程-- client
1 import socket2 3 s = socket.socket()4 s.connect((‘127.0.0.1‘, 9999)) # 建立串連5 print(‘-->>‘ + s.recv(1024).decode(‘utf-8‘)) # 接收訊息6 s.send(b‘Hello, I am a client‘)7 print(‘-->>‘ + s.recv(1024).decode(‘utf-8‘))8 s.send(b‘exit‘) # 發送訊息9 s.close()
代碼摘自 Python爬蟲開發與項目實戰-- 機械工業出版社
學習筆記-- Python網路編程