【发布时间】:2018-08-23 20:30:15
【问题描述】:
我正在向服务器发送两个请求,代码如下:
import sys
import socket
s = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
s.connect((sys.argv[1], 3232))
s.send('HELP\n')
print("1st\n" + s.recv(4096))
s.send('HELP\n')
print("2nd\n" + s.recv(4096))
s.close()
HELP 应该总是返回一些东西;例如,如果使用 netcat:
# nc 10.x.x.x 3232
HELP
* LIST OF VALID COMMANDS:
...
我在上面发布的代码不会总是输出HELP 响应。例如;它只会很少显示recv 输入;有时从不(下面,1st 甚至没有显示):
# python example.py 10.x.x.x
1st
Welcome to...
2nd
* LIST OF VALID COMMANDS:
...
我以为HELP没有被发送,所以我打开wireshark看到以下内容;所以它似乎正在正确发送:
HELP
* LIST OF VALID COMMANDS:
...
HELP
* LIST OF VALID COMMANDS:
...
有什么想法吗?我不确定我做错了什么。
【问题讨论】:
-
sys.argv[1]的值是多少? -
另外,这些是 not 原始套接字。这是 TCP/IP。
标签: python sockets raw-sockets