客服端編程編程
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編程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()