gpt4 book ai didi

Python 套接字客户端-服务器应用程序

转载 作者:行者123 更新时间:2023-12-01 06:15:34 25 4
gpt4 key购买 nike

我编写了两个通过套接字进行通信的应用程序。这是代码:

服务器:

import socket

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(("",9999))
server_socket.listen(5)

video = True
power = True

print "TCPServer Waiting for client on port 9999"

while 1:
client_socket,address = server_socket.accept()
print "I got a connection from ", address

while 1:
data = client_socket.recv(512)
if data == 'vc' & video == True:
data = 'You can connect to Video'
video = False
client_socket.send(data)
elif data == 'pc' & power == True:
data = 'You can connect to Power Switch'
power = False
client_socket.send(data)
else :
data = 'Device is in use - wait a few secconds'
client_socket.send(data)

客户:

import socket
import time
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(("localhost", 9999))
while 1:
data = ( 'Please vc or pc: ' )
time.sleep(5)
if data=='pc' | data=='vc':
print 'send to server: ' + data
time.sleep(5)
client_socket.send(data)
data = client_socket.recv(512)
print data
else:
print 'bad data - please try again'

print data
time.sleep(5)

我刚刚开始我的套接字冒险,但遇到了一个问题。为什么我看不到服务器响应?我粘贴代码 time.sleep() 来停止程序并查看 rosponses,但这些应用程序在我在客户端写入第一条消息并按 Enter 后终止。请帮助我。

我在 Windows 32 位上工作。 Python 2.6

最佳答案

您没有发送任何内容。我假设行 data = "Please vc or pc: 是为了从用户那里获取输入,但它只是将字符串分配给 data。然后当您检查 if data == 'pc ' | data == 'vc' 检查失败,因此打印“错误数据”。

也不要在 bool 表达式中使用 | - 使用 orand。 |和 & 将进行按位操作 - 有时这会做正确的事情,但其他时候它会咬你的屁股。

关于Python 套接字客户端-服务器应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3509539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com