import socket
from threading import Thread
socket_client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
socket_client.bind(("127.0.0.1", 7788))
def send():
try:
while True:
msg = input("发送的数据为:")
socket_client.sendto(msg.encode("utf-8"), ("127.0.0.1", 8888))
if msg == "88":
break
except:
print("聊天室关闭")
finally:
socket_client.close()
def receive():
try:
while True:
c_msg, ip = socket_client.recvfrom(512)
print(f"{ip}发送的数据:{c_msg.decode('utf-8')}")
except:
print("聊天室关闭")
finally:
socket_client.close()
Thread(target=send).start()
Thread(target=receive).start()
```python
import socket
from threading import Thread
socket_server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
socket_server.bind(("127.0.0.1", 8888))
import datetime
def receive():
try:
while True:
msg, ip = socket_server.recvfrom(512)
print(f"{ip}发送的数据:{msg.decode('utf-8')}")
with open("socket_server_info", "a", encoding="utf-8") as w:
w.writelines(msg.decode('utf-8') + " " + datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S") + "\n")
except:
print("聊天室关闭")
finally:
socket_server.close()
def send():
try:
while True:
s_msg = input("请输入发送的消息:")
socket_server.sendto(s_msg.encode("utf-8"), ("127.0.0.1", 7788))
if s_msg == "88":
break
except:
print("聊天室关闭")
finally:
socket_server.close()
Thread(target=receive).start()
Thread(target=send).start()
``