还未使用线程时,一些有意思的理解
from socket import *
import threading
udp_socket = socket(AF_INET, SOCK_DGRAM)
bind_addr = ('', 8899)
udp_socket.bind(bind_addr)
def send_data(addr):
data = input('') # 只要终端上有数据就会被识别到里面,即虽然程序会在下方while True堵塞,当有输入时,data会
# 依次取终端界面的值
udp_socket.sendto(data.encode('gbk'), addr)
def receive_data():
while True:
content, addr = udp_socket.recvfrom(1024)
print('start')
print('收到的数据是%s,来自于%s' % (content.decode('gbk'), addr[0]))
send_data(addr) # 当调试助手被堵塞在这里调试助手传入的数据相当于进入了socket队列,
# 当input输入有一个值则会输出一次传入的数据
receive_data()
udp_socket.close()