Python中的socket使用
我尝试做一个客户端和服务器,看看我做了什么
#Server
import socket
Host=''
Port=305
OK=socket.socket()
OK.bind((Host,Port))
OK.listn(1)
OK.accept()
还有一个是客户端的代码
#Client
impot socket
Host='192.168.1.4'
Port=305
OK=socket.socket()
OK.connect((Host,Port))
第一件事:现在一切都还好,但我想要的是,当客户端连接到服务器时,服务器在客户端的屏幕上打印“Hello Admin”
第二件事:我想做一个输入命令的功能!比如说
COM=raw_input('enter you command system:')
然后客户端输入 dir
,例如,服务器就会把结果打印在客户端的屏幕上
5 个回答
0
我觉得你可能想要这样做:
client, addr = OK.accept()
client.send("Hello Admin")
然后使用
data = client.recv(1024)
来从客户端获取数据。
如果你想从客户端获取命令输入,只需要执行客户端发送的命令,然后把结果再发回给客户端。
from commands import getoutput
client.send(getoutput(client.recv(1024)))
这就是最简单的解决方案了。
1
当你建立了一个连接,这个故事并没有结束。接下来是时候通过这个连接发送数据了。你需要创建一个简单的“协议”(*),用来在客户端和服务器之间传输数据,或者反向传输。一个简单的例子就是使用文本命令,每个命令之间用换行符分隔——这和HTTP的工作方式很像。
(*) 协议:指的是双方对沟通格式的约定。
2
看这里,这是用Python写的一个简单的回声服务器。