import threading
from socket import socket
import sys
host = "127.0.0.1"
port = 1234
def receiveForever(clientSocket):
while True:
try:
msg = clientSocket.recv(1024).decode("utf-8")
if msg == "" or msg == None:
exit(clientSocket)
break
print("\n收到服务端消息:", msg)
if msg == "fuck off":
exit(clientSocket)
break
except:
exit(clientSocket)
break
def exit(clientSocket):
try:
print("服务端已断开连接")
clientSocket.close()
except:
pass
def sendForever(clientSocket, receiverThread):
while True:
try:
if receiverThread.is_alive():
msg = input("你对ta说:")
clientSocket.send(msg.encode("utf-8"))
else:
raise ConnectionAbortedError("服务端叫我fuck off")
except Exception:
exit(clientSocket)
break
if __name__ == "__main__":
clientSocket = socket()
res = clientSocket.connect((host, port))
print(res)
rt = threading.Thread(target=receiveForever, args=(clientSocket,))
st = threading.Thread(target=sendForever, args=(clientSocket, rt))
rt.start()
st.start()
st.join()
rt.join()
print("main over")