import sockets = socketsocketsocketAF INETsocketSOCK STREAMsbind1921683138088slisten1printWait for connectingconnaddr=sacceptprintconn=connprintaddr=addrwhile Truestrl =connrecv1024str2 = strstr1encod
服务器端代码:
import socket
def factorial(n): if n == 0: return 1 else: return n * factorial(n-1)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind(('localhost', 8088)) s.listen(1)
print('Waiting for connection...') conn, addr = s.accept() print('Connected:', addr)
while True: data = conn.recv(1024) if not data: break n = int(data.decode()) result = factorial(n) conn.send(str(result).encode())
conn.close() s.close()
客户端代码:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('localhost', 8088))
while True: n = input('Enter a number (or "exit" to quit): ') if n == 'exit': break s.send(n.encode()) result = s.recv(1024) print('Factorial:', result.decode())
s.close(
原文地址: https://www.cveoy.top/t/topic/g9nJ 著作权归作者所有。请勿转载和采集!