python3.3.3 windows
Server
import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(("127.0.0.1",8080))
s.listen(3)
while True:
print("wait client to connect...")
conn,addr = s.accept()
print("connected by:",addr)
while True:
try:
requestb = conn.recv(1024)
except:
print("socket.recv get except")
conn.close()
break
request = requestb.decode("utf8")
print(addr,"said:",request)
if "quit" == request:
print("close socket")
conn.close()
break;
conn.sendall(requestb)
Client
import socket
HOST = "127.0.0.1"
PORT = 8080
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((HOST,PORT))
while True:
request = input("input message:")
s.sendall(request.encode("utf8"))
if "quit" == request:
break
reply = s.recv(1024)
print("reply is:",reply.decode("utf8"))
s.shutdown(socket.SHUT_WR)
s.close()
========
Server 加线程
import socket
import threading
class sessionRun(threading.Thread):
def run(self):
conn = self.args[0]
addr = self.args[1]
print("begin talk with ",addr)
while True:
try:
requestb = conn.recv(1024)
except:
print("socket.recv get except")
conn.close()
break
request = requestb.decode("utf8")
print(addr,"said:",request)
if "quit" == request:
print("close socket")
conn.close()
break;
conn.sendall(requestb)
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(("127.0.0.1",8080))
s.listen(3)
while True:
print("wait client to connect...")
conn,addr = s.accept()
print("connected by:",addr)
t = sessionRun()
t.args=(conn,addr)
t.start()
初学,不当之处欢迎指正!