使用udp发送任意数据给win10下的mNetAssist
报一下环境:
win10 + pycharm + mNetAssist
就是win10从pycharm传数据到mNetAssist
话不多说,先放代码
import socket
def main():
# 创建一个套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 从键盘获取数据
send_data = input("请输入要发送到的数据:")
# 使用套接字发送数据(编码格式使用 GBK / GB2312)
udp_socket.sendto(send_data.encode("GB2312"), ('100.89.194.133, 8080)) # 换成自己的ip及port
# 关闭
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("请输入要发送到的数据:")
# 如果输入的数据是exit,那么便退出
if send_data == "exit":
break
# 使用套接字发送数据(GB2313是编码格式,utf-8会出现乱码现象)
udp_socket.sendto(send_data.encode("GBK"), ('100.89.194.133', 8080))
# 关闭
udp_socket.close()
if __name__ == "__main__":
main()
注意事项
-
1.ip地址栏尽量写以太网的ipv4地址(保证已连接),如果是本地连接的ipv4可能会出现OSError: [WinError 10051错误]
-
2.在使用套接字发送数据时,发现如果使用 utf-8 编码格式发送,mNetAssist输出汉字时会出现乱码现象,原因是win10使用 GBK 格式编码, 如果使用 GB2312或者 GBK 则正常输出汉字