2011-04-27 37 views
3

例如,我有数据,如下面的:我如何用插座发送二进制数据

\x01ZMGR156\x00\x00\x00\x00\x00\x00\x00\x00manfo!1223\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00

如何与socket.send直接发送()?

实际上,数据处于文本模式而不是二进制模式。

我使用loadrunner运行一些程序,并捕获它发送到远程主机与套接字, 的数据,我想用这个数据做一些测试。

+0

你试过了什么? [我如何问一个好问题](https://stackoverflow.com/help/how-to-ask)和[如何创建一个最小,完整和可验证的示例](https://stackoverflow.com/help/mcve)是在StackOverflow上遵循的良好资源。并注意“数据处于文本模式而不是二进制模式”在这里没有多大意义。你的意思是你使用Python 3,它是一个字符串与字节?无论哪种方式,'socket.send()'总是占用字节。如果你有一个字符串,那么你需要先对它进行正确编码。 – jszakmeister 2017-07-03 08:54:59

回答

0

您应该创建一个基本的TCP客户端。代码为Python 2.7

# -*- coding: utf-8 -*- 
from socket import socket, AF_INET, SOCK_STREAM 

ADDRESS = '127.0.0.1' # connection address 
PORT = 5050 # connection port 
DATA = u"Data" # data to send 

s = socket(AF_INET, SOCK_STREAM) 
s.connect((ADDRESS, PORT)) 
s.send(DATA.encode('utf-8')) 
+0

有数据是通用的...你为什么试图使用utf? – Massimo 2017-08-02 16:55:43