网络编程UDP
import socket
def main():
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp_socket.sendto(b'hello python', ('192.168.247.1', 8080))
udp_socket.close()
if __name__ == '__main__':
main()
import socket
def main():
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
localaddr = ('', 7788)
udp_socket.bind(localaddr)
recv_data = udp_socket.recvfrom(1024)
recv_msg = recv_data[0]
recv_addr = recv_data[1]
print('%s:%s' % (str(recv_addr), recv_msg.decode('gbk')))
udp_socket.close()
if __name__ == '__main__':
main()
import socket
def main():
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
localaddr = ('', 7788)
udp_socket.bind(localaddr)
while True:
recv_data = udp_socket.recvfrom(1024)
recv_msg = recv_data[0]
recv_addr = recv_data[1]
print('%s:%s' % (str(recv_addr), recv_msg.decode('utf-8')))
udp_socket.close()
if __name__ == '__main__':
main()
import socket
def main():
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while True:
send_data = input('请输入要发送的数据:')
if send_data == 'exit':
break
udp_socket.sendto(send_data.encode('utf-8'), ('', 7788))
udp_socket.close()
if __name__ == '__main__':
main()
import socket
def send_msg(udp_socket):
""" 发送消息 """
dest_ip = input('请输入对方的ip:')
dest_port = int(input('请输入对方的port:'))
send_data = input('请输入要发送的消息:')
udp_socket.sendto(send_data.encode('utf-8'), (dest_ip, dest_port))
def recv_msg(udp_socket):
""" 接收消息 """
recv_data = udp_socket.recvfrom(1024)
print('%s:%s' % (str(recv_data[1]), recv_data[0].decode('utf-8')))
def main():
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp_socket.bind(('', 7788))
while True:
print('---------聊天器-------')
print('1:发送消息')
print('2:接收消息')
print('0:退出系统')
op = input('请输入功能:')
if op == '1':
send_msg(udp_socket)
elif op == '2':
recv_msg(udp_socket)
elif op == '0':
break
else:
print('输入有误请重新输入')
if __name__ == '__main__':
main()