pythonsocket服务器接收的数据比我的多

2024-06-09 00:05:17 发布

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

我制作了一个应用程序,当我倾斜手机时向python socket发送消息“Oleft”,但控制台上的结果如下:

connection from('192.168.0.101', 33313)
b'Oleft'
b'OleftOleftOleftOleftOleftOleftOleftOleftOleftOleftOleft'
b'Oleft'
b'OrightOrightOrightOright'
b'OleftOleftOleftOleftOleftOrightOrightOrightOrightOrightOrightOleftOleftOleftOleftOleftOleftOleftOleftOleftOleftOleftOleftOleftOleftOleftOleftOleftOleftOleftOleft'
b'OleftOleftOleftOleftOleftOleftOleftOleftOleftOleftOleft'
b'OleftOleftOleftOleftOleftOleftOleftOleftOleftOleftOleft'
b'OleftOleftOleftOleftOleftOleftOleftOleftOleftOleftOleft'
b'OleftOleft'

它没有办法只接收一个b'Oleft'?你知道吗

你知道吗远程.py你知道吗

import socket

class WGRemote:

    def __init__(self):
        self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.host = socket.gethostname()
        self.port = 10000
        self.received = None

    def connect(self):
        global c, addr
        self.sock.bind((self.host, self.port))
        self.sock.listen(5)
        c, addr = self.sock.accept()
        print('connection from' + str(addr))

    def setMode(self,mode):
        sent = c.send(mode.encode("utf-8"))

    def receive(self):
        self.received = c.recv(1024)
        return self.received

    def close(self):
        c.close

你知道吗测试pp.py你知道吗

import socket
import sys
from wgremote import WGRemote

remote = WGRemote()
remote.connect()
remote.setMode('orient')
while True:
    data = remote.receive()
    print(data)

Tags: frompyimportselfhostremotedefsocket
1条回答
网友
1楼 · 发布于 2024-06-09 00:05:17

因为,您在while循环中编写了print(数据):)

while True: data = remote.receive() print(data)

如果您只想接收一个b'Oleft,您可以制作一个过滤器:

或者你必须只发一个b'Oleft:)

相关问题 更多 >