Python中的socket使用

0 投票
5 回答
931 浏览
提问于 2025-04-16 04:16

我尝试做一个客户端和服务器,看看我做了什么

#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写的一个简单的回声服务器。

http://ilab.cs.byu.edu/python/socket/echoserver.html

撰写回答