python简单的socket 服务器和客户端

时间:2023-01-21 00:00:55

服务器端代码:

if "__main__" == __name__:
import socket
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM);
print("create socket succ!");

sock.bind(('localhost', 8001));
print("bind socket succ!");

sock.listen(5);
print("listen succ!");

except:
print("init socket err!");

while True:
print("listen for client...");
conn, addr = sock.accept(); #socket.accept():返回(conn,address)对,其中conn是新的socket对象,在其上可以发送和接收数据;address是另一端的socket地址
print("get client");
print(addr);

conn.settimeout(5);
szBuf = conn.recv(1024);#使用sock.accept()创建的socket对象,
print("recv:" + szBuf);

if "0" == szBuf:
conn.send('exit');
else:
conn.send('welcome client!');

conn.close();
print("end of sevice");

客户端代码:
#!/usr/bin/env python

import socket;

if "__main__" == __name__:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM);
sock.connect(('localhost', 8001));
sock.send('0');

szBuf = sock.recv(1024);
print("recv " + szBuf);
sock.close();
print("end of connect");