草庐IT

message_buffer

全部标签

Python 服务器和游戏客户端 : Message overload?

我正在用Python编写一个游戏服务器,在GameMaker中使用FaucetNetworking插件编写一个游戏客户端(尽管这应该无关紧要)。每次玩家移动时,客户端都会向服务器发送一条UPDATEXY消息,并且在客户端中有一个消息聊天的东西。当有2个客户端连接到服务器时,客户端的消息似乎重载了(在运行时,聊天消息看起来更慢,玩家落后于实际其他玩家所在的位置)。我相信这是因为客户端无法以消息流入的速度处理消息,所以我在客户端中实现了一个功能,它只会将所有消息转储到接收缓冲区中,并忽略它们。这似乎行得通,但玩家会猛烈地抽动。这个问题是否有任何“干净的修复”,或者这是我从一开始就做错的基本

python : Clear the buffer in Twisted Transport write

我正在使用Pythontwisted开发一个聊天应用程序。我正在使用transport.write()写入TCP流。但是,有时,我注意到客户端接收到的数据是合并的(串联的)。有什么方法可以清除缓冲区或刷新数据,以便在发送数据时接收数据而不是缓冲数据?谢谢 最佳答案 这与这个FAQ项基本相同:http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions#Whyisprotocol.dataReceivedcalledwithonlypartofthedataIcalledtra

tcp - Protocol Buffer Wireshark 插件

我正在为googleprotocolbuffer寻找一个wireshark插件。我找到了这个GPBWireshark插件http://code.google.com/p/protobuf-wireshark/显然只有UDP……是否有适用于TCP的wiresharkGPB插件? 最佳答案 您可以改用Wireshark附带的Protobuf解析器。从Wireshark3.2.0开始,现在可以配置*.proto文件以更精确地解析序列化的Protobuf数据(例如gRPC)。从该版本开始支持基于UDP端口解析Protobuf数据。您还可以编

c - nodejs从C接收到的buffer分为两部分

我正在使用tcp传输数据。服务端代码用C写,客户端代码用nodejs写。当我发送一个缓冲区时,有时客户端会收到这个缓冲区的两部分,console.log函数会触发两次,但有时效果很好。以下是nodejs代码和C代码。Node代码:varclient=newnet.Socket();client.on('data',function(data){console.log('data:',data)});C代码:send(socket_file,buffer,strlen(buffer),0) 最佳答案 这是典型的TCP,毕竟它是一个面向

C# 异步 TCP 套接字 : Handling buffer size and huge transfers

当使用阻塞TCP套接字时,我不必指定缓冲区大小。例如:using(varclient=newTcpClient()){client.Connect(ServerIp,ServerPort);using(reader=newBinaryReader(client.GetStream()))using(writer=newBinaryWriter(client.GetStream())){varbyteCount=reader.ReadInt32();reader.ReadBytes(byteCount);}}注意远程主机如何发送任意数量的字节。但是,当使用异步TCP套接字时,我需要创建一

c# - Java <-> C# 套接字 : cant receive messages

我需要一个自己写的java服务器和C#客户端之间的socket通信,问题是C#客户端收不到来self的Java服务器的任何消息,但可以向我的Java服务器发送消息。我的工作流程:Java:创建服务器Java:WAITING客户端连接c#:创建客户端c#:建立与服务器的连接c#:向服务器发送消息Java:收到消息java:发送消息给c#客户端c#:从服务器接收消息Java服务器代码:publicclassCommunicator{privateintm_port;privateSocketm_socket;privateServerSocketm_serverSocket;publicC

探秘Runtime - Runtime Message Forward

该文章属于刘小壮原创,转载请注明:刘小壮当一个对象的方法被调用时,首先在对象所属的类中查找方法列表,如果当前类中没有则向父类查找,一直找到根类NSObject。如果始终没有找到方法实现,则进入消息转发步骤中。动态消息解析当一个方法没有实现时,也就是在cachelsit和其继承关系的methodlist中,没有找到对应的方法。这时会进入消息转发阶段,但是在进入消息转发阶段前,Runtime会给一次机会动态添加方法实现。可以通过重写resolveInstanceMethod:和resolveClassMethod:方法,动态添加未实现的方法。其中第一个是添加实例方法,第二个是添加类方法。这两个方法

swift - 在 Swift 中制定隐私政策 : How to make UIAlertController action button disabled until message is scrolled to the bottom

在我的iOS应用程序中,我尝试使用UIAlertController实现一个简单的隐私策略。根据法律,该政策在被接受之前必须是可滚动的——就像当今大多数隐私政策一样。根据我自己的研究,我发现您可以禁用和启用UIAlertAction按钮,但我不知道如何识别UIAlertController消息正文何时滚动。一直滚动到底部可能是一项要求,我有兴趣找出一种同样可行的方法。这是我当前为上面的默认外观UIAlertController编写的代码。letalertController=UIAlertController(title:"PrivacyPolicy",message:privacyP

iOS Firebase Cloud Messaging 在应用程序关闭时获取数据

我有一个应用程序。它使用FCM推送通知。消息的json看起来像:{"to":"xxx","notification":{"body":"Hi","badge":1,"sound":"default"},"data":{"id":"xxx","first_name":"xxx","last_name":"xxx","full_name":"xxx","primary_image":"xxx","matchid":"xxx","type":"match"/"message"},"content_available":true,"priority":"high"}我在数据中有一个“类型”来检

swift - ARSCNView 在 iOS 12 上因 GPU 错误 "Execution of the command buffer was aborted... (IOAF code 5)"而滞后

我不确定什么代码与此处发布相关,但我真的只是想知道如何调试它。我显示了一个启用了ARFaceTrackingConfiguration的ARSCNView,并在后台线程上对面部几何执行频繁的VisionVNDetectFaceLandmarksRequest和ARSCNView.hitTest。我在iOS12之前没有延迟问题,即使现在它只是间歇性的,但是当它发生时它会一次卡住整个屏幕几秒钟并显示错误:命令缓冲区的执行由于执行期间的错误而中止。丢弃(GPU错误/恢复的受害者)(IOAF代码5)不确定是否相关,但我也偶尔会在SceneKit渲染线程(com.apple.scenekit.s