python - 无法让 Socket 接收数据包
问题描述
我正在尝试使用套接字将消息从客户端发送到服务器。由于某种原因,没有收到该消息。示例:客户端发送“myname_0”,服务器需要接收它并对其进行解码并继续。
听众:
import socket
class SocketSender():
def __init__(self):
self.sock = socket.socket()
ip = socket.gethostname() # IP to server.
port = 7000
self.sock.bind((ip, port))
print("Binding successful.")
self.sock.listen(2)
print("Listening....")
self.listening = True
# self.sock.connect((ip, port))
# print("Connected.")
def sendpacket(self, packet):
self.sock.send(packet.encode())
def receivepacket(self):
while self.listening:
con, addr = self.sock.accept()
print("Receiving packet from " + str(addr))
packet = self.sock.recv(1024).decode("utf-8")
return str(packet)
发件人:
import socket
sock = socket.socket()
ip = socket.gethostname()
port = 7000
sock.connect((ip, port))
print("connection to " + ip)
message = "test_0"
sock.send(message.encode("utf-8"))
运行时:
import GUI
import SocketSender
# Entry: 0, Exit: 1
gui = GUI.ASGui()
# gui.run()
socket = SocketSender.SocketSender()
id = input()
while 1 == 1:
packet = socket.receivepacket()
name, state = packet.split("_")
break
if state == 0:
print("Welcome back, " + name)
else:
if state == 1:
print("Goodbye, " + name)
我确实得到了输出侦听和绑定。但我无法收到消息。帮助将不胜感激。谢谢你。
解决方案
推荐阅读
- java - tomcat 是否也会与 J2EE 一起运行所有 J2SE 代码?
- python - python中嵌套if语句的增量
- java - 在这种情况下,如何将我的 maxDiff 值添加到我的 ArrayList 中?
- javascript - 如何在 Material UI 中使用 Autosuggest
- asp.net - Windows 10 未将变量传递给 default.aspx
- angular - 使用“finalize,catcherror”运算符时出错
- android - 为什么在 Android 9 上不显示通知
- r - R:如何删除饼图中的帮助文本?
- java - 当我按下我的登录按钮 Java 并且应用程序崩溃时,我不断收到错误消息
- javascript - 动态过滤器:使用 .filter() 创建动态过滤器