Python客户端和服务器ch

2024-05-13 20:18:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用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

程序关闭后端口是否自动关闭,或者我是否需要以某种方式手动关闭端口。


Tags: 代码import服务器localhosthostdata客户机time
1条回答
网友
1楼 · 发布于 2024-05-13 20:18:59

This页面上有一些套接字的示例代码,您可以很容易地适应您的程序。

在脚本中,第一个问题是:

s.bind((HOST,PORT))#for client

因为,服务器绑定到ip,而不是客户端,后者将使用明显的功能连接到服务器:

s.connect((HOST,PORT))


另一个问题是,你没有倾听新的联系,接受它们:

s.listen(1)  #number defines amount of queued connection to server
conn, addr = s.accept()

最后一个错误是,如果客户机连接到服务器,则在不确定的情况下向客户机发送数据。

希望我帮你解决了这个问题。 库巴贝斯特

相关问题 更多 >