客服端編程
import socket try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) except socket.error as msg: print(msg) exit() print('socket created') try: ip = socket.gethostbyname('www.baidu.com') except socket.gaierror as msg: print(msg) exit() print('host = ', ip) s.connect((ip, 80)) print('socket連接成功') try: msg = bytes("GET / HTTP/1.1\r\n\r\n", encoding='utf-8') s.sendall(msg) except socket.error: print('發送數據失敗') exit() print('發送數據成功') while True: reply = s.recv(4096) if reply: print(reply) else: s.close() break
服務端socket編程
import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print('socket創建成功') try: s.bind(('', 888)) except socket.error as msg: print(msg) exit() print('socket綁定端口成功') s.listen(10) print('socket正在監聽') while True: conn, addr = s.accept() print(addr[0]+'::'+addr[1], '客戶端連接成功', ) data = conn.recv(1024) print('接收到的數據為',data) if not data: break conn.sendall(data) conn.close() s.close()