Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TCP/IP服务器客户端是否存在数据发送限制?_Python_Swift_Sockets_Tcp Ip - Fatal编程技术网

Python TCP/IP服务器客户端是否存在数据发送限制?

Python TCP/IP服务器客户端是否存在数据发送限制?,python,swift,sockets,tcp-ip,Python,Swift,Sockets,Tcp Ip,我正在写100-255之间的数字来控制齿轮马达的速度。(低于100时,运行有问题) 在我的UDOO上,我正在运行用python编写的TCP/IP服务器代码。它绑定服务器地址,然后侦听并接受来自客户端的连接。 它执行一个while循环,从TCP/IP客户端(我的iPhone)接收数据,然后打印数据并(串行)写入UDOO上的Arduino芯片。 编辑:以下是完整的Python服务器代码 import socket import sys import serial sock = socket.soc

我正在写100-255之间的数字来控制齿轮马达的速度。(低于100时,运行有问题)

在我的UDOO上,我正在运行用python编写的TCP/IP服务器代码。它绑定服务器地址,然后侦听并接受来自客户端的连接。 它执行一个while循环,从TCP/IP客户端(我的iPhone)接收数据,然后打印数据并(串行)写入UDOO上的Arduino芯片。 编辑:以下是完整的Python服务器代码

import socket
import sys
import serial

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

server_address = ('IP', 10000)
print >>sys.stderr, 'starting up on %s port %s' % server_address
sock.bind(server_address)
sock.listen(1)

print >>sys.stderr, 'waiting for a connection...'
connection, client_address = sock.accept()
print >>sys.stderr, 'connection from', client_address
while True:
    data = connection.recv(16)
    print >>sys.stderr, 'received "%s"' % data
    ser.write(data)
我的iPhone上的swift代码使用此命令连接到同一IP python代码正在连接到的

NSStream.getStreamsToHostWithName()

加速度计数据通过以下方式写入输出流:

write(字符串,maxLength:count(字符串))

如果我将iPhone向右倾斜,齿轮马达的速度会增加

当加速度计更新间隔=1时,齿轮马达的速度会发生1秒的延迟。python服务器代码每秒接收1个数据包,并且没有传输错误。显示的数字介于100和255之间

如果我将加速计的更新间隔设置为0.01,python代码每秒接收100个数据包。显示的数字示例如下所示:

received "198"
received "184"
received "179"
received "196"
received "204"
received "2061991871851851"
received "8217717417718118"
received "5185176169184187"
received "1811401761961901"
received "6213912912712612"
received "2118115114105"
received "1051051001001001"
received "0010010110110110"
received "1101101101101101"
received "1011011011011011"
received "0110110110110110"
received "1101101101101101"
received "1011011011011011"
received "0110110110110110"
received "1"
received "1011011011011011"
received "0110110110110110"
received "1101101101101101"
received "101101"
received "101"
received "101"
received "101"
像198、184、179这样的数字是准确的,并且传输正确,因为这是我拿着iPhone的角度。其他大于3位或大于255的数字不应显示,且swift代码未编程创建这些数字,当TCP/IP传输每秒接收100个数据包时,必须存在TCP/IP传输问题

当更新间隔为0.1时,仍然存在一些问题,但频率较低

198、184、179等数字准确无误 因为这是我拿着iPhone的角度。这个 其他大于3位或超过255的数字不应 出现时,swift代码没有被编程来创建它们 当接收到100时,TCP/IP传输肯定有问题 每秒数据包数

毕竟,也许这些数字确实有道理。我只是添加了空格来说明这一点:

received "206 199 187 185 185 1"
received "82 177 174 177 181 18"
received "5 185 176 169 184 187"
received "181 140 176 196 190 1"
198、184、179等数字准确无误 因为这是我拿着iPhone的角度。这个 其他大于3位或超过255的数字不应 出现时,swift代码没有被编程来创建它们 当接收到100时,TCP/IP传输肯定有问题 每秒数据包数

毕竟,也许这些数字确实有道理。我只是添加了空格来说明这一点:

received "206 199 187 185 185 1"
received "82 177 174 177 181 18"
received "5 185 176 169 184 187"
received "181 140 176 196 190 1"

可能是输出跟不上,它在同一行上附加值。是的,类似的。可能是输出跟不上,它在同一行上附加值。是的,类似的。我也认识到这个事实。当我发送号码“101”时,它被推到了一行。我相信这些长长的数字串使我的马达运转不稳定。所有的数字都被同时发送,我想修复它,让我的马达平稳运行。我也意识到了这一点。当我发送号码“101”时,它被推到了一行。我相信这些长长的数字串使我的马达运转不稳定。所有的数字都被推到同时发送,我想修复它,使我的马达平稳运行。