我正在尝试用Python实现一个非常基本的客户机和服务器聊天,虽然遇到了一些问题,但我得到的响应是,我只能同时运行客户机或服务器,而不能同时运行两者,因此我无法聊天。
客户代码:
#client
import socket
import time
HOST = "localhost"
PORT = 5454
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((HOST,PORT))
while True:
data = raw_input("Enter..... ")
s.sendto(data,(Host,PORT))
print "Server says: " + s.recv(1024)
if data=="bye" or s.recv(1024)=="bye":
print "Exiting..........."
time.sleep(1)
break
服务器代码:
#server
import socket
import time
HOST = "localhost"
PORT = 5454
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((HOST,PORT))
while True:
print "Client says: " + s.recv(1024)
data = raw_input("Enter..... ")
s.sendto(data,(HOST, PORT))
if data=="bye" or s.recv(1024)=="bye":
print "Exiting.................."
time.sleep(1)
break
程序关闭后端口是否自动关闭,或者我是否需要以某种方式手动关闭端口。
在This页面上有一些套接字的示例代码,您可以很容易地适应您的程序。
在脚本中,第一个问题是:
因为,服务器绑定到ip,而不是客户端,后者将使用明显的功能连接到服务器:
另一个问题是,你没有倾听新的联系,接受它们:
最后一个错误是,如果客户机连接到服务器,则在不确定的情况下向客户机发送数据。
希望我帮你解决了这个问题。 库巴贝斯特
相关问题 更多 >
编程相关推荐