2013-05-09 22 views
0

我想在python中創建一個簡單的thingermajig,目前只是爲了測試通過套接字發送UDP數據包。我認爲除了使用socket.sendto命令之外,我的腳本完美無缺。我不斷收到有關「字節」所在部分的錯誤...無論是TypeError:需要一個interget,還是當它成爲一個interget TypeError:需要一個字符串。有人能給我提供一個如何發送字節的例子嗎?如何使用Python發送字節(請示例!)

在我的腳本中,我得到的錯誤點如下...請填寫一個例子以及一個新手可能的解釋/文檔。

#full script as requested 

import socket 
import random 

sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 
butes = random._urandom(1024) 
#originally found this as a way to generate bytes to send, but it didn't work out 
print("target IP: ") 
ip = input() 
print("port: ") 
port = input() 

while 1: 
    sock.sendto(butes, (ip, port)) 
    print("Sent %s amount of packets to %s at port %s." % (sent,ip,port)) 
    sent += 1 
+0

你最好提供你的整個腳本,而不僅僅是一行。否則它看起來不像你已經嘗試過任何東西 – mvp 2013-05-09 07:11:31

+0

***忘記了我在sendto的「字節」字段中所用的內容,「b'0x2E」「只是我嘗試發送它失敗的條目之一東西*** – user2317808 2013-05-09 07:12:13

+0

python3.3.0如果我沒有弄錯 – user2317808 2013-05-09 07:22:50

回答

2

在你貼的代碼,portstr,你應該使用port = int(input())

旁白:b'0x2E',你在原來的問題有4個字符。如果你的意思是chr(0x2E)你也可以寫'\x2E'

+0

儘管套接字等也可能無法正常工作,但此刻我專注於能夠實際發送字節......我不斷收到錯誤消息!順便說一下,我在python 3上,如果這有所作爲。 – user2317808 2013-05-09 07:21:45

+0

這太奇怪了...現在它工作。我正在使用一臺不同的電腦,所以也許是一個小版本的變化擺脫它,這是一個錯誤。 – user2317808 2013-05-09 11:51:40

相關問題