2011-04-27 49 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