Python:套接字通信在有线局域网中不起作用

问题描述

我一直在使用 Python 3.7

中的 socket 库制作程序

程序具有发送和接收数据(字符串)的角色。

我已经检查过它在 wifi(无线局域网) 环境中工作。

但是,在有线无线之间或有线有线间的环境中,我的套接字通信代码不工作。我不知道为什么。

以下是我制作的代码。我已经排除了不重要的部分。

服务器端

import socket
import os

# device's IP address
SERVER_HOST = "<server ip address>"
SERVER_PORT = 5001
USERS = dict()


# create the server socket
# TCP socket
s = socket.socket(socket.AF_INET,socket.soCK_DGRAM)
# bind the socket
s.bind((SERVER_HOST,SERVER_PORT))
print(f"[*] Server Starts - {SERVER_HOST}:{SERVER_PORT}")


data,addr = s.recvfrom(1024)
RCV = data.decode('utf-8')
while RCV != 'ŒEXITŒŒSERVERŒ':
    ...(skip)...

s.close()

客户端

import socket
import os

BUFFER_SIZE = 4096 # send 4096 bytes each time step

# the ip address or hostname of the server
host = "<server ip address>"
port = 5001

# create the client socket
s = socket.socket(socket.AF_INET,socket.soCK_DGRAM)

print(f"[+] Connecting to {host}:{port}")
s.connect((host,port))
print("[+] Connected.")

USER = input("[@] Enter Your User Name(Nickname): ")
USER += "ŒSEPŒ"
s.sendto(USER.encode('utf-8'),(host,port))


while True:
  ...(skip)...

如果您需要更多信息来解决这个问题,请给我留言。我会在请求中添加更多信息。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)