草庐IT

bytes_write

全部标签

java - 从套接字的 byte[] 开头解析 int

我有一个Java应用程序正在从接收不同大小的XML的TCP套接字读取数据。给定数据包的前5个字节应该指示剩余消息的大小。如果我手动创建一个大字节[]并读取数据,我可以成功读取消息和xml。以下是生成数据的应用程序手册中的说明:Eachmessageisprecededbythemessagesizeindicatorwhichisa32-bitunsingedintegerusingthenetworkbytesordermethod.Forexample:\x05\x00\x00\x00\x30\x31\x30\x32\x00indicatesthemessagesizeofanac

c++ - libwebsocket : unable to write frame bigger than 7160 bytes

我正在解决一个我无法理解的WebSocket问题。请使用以下代码作为引用:intwrite_buffer_size=8000+LWS_SEND_BUFFER_PRE_PADDING+LWS_SEND_BUFFER_POST_PADDING;char*write_buffer=newunsignedchar[write_buffer_size];/*...othercodewrite_bufferisfilledinsomewaythatisnotimportantforthequestion*/n=libwebsocket_write(wsi,&write_buffer[LWS_SEN

c# - 通过 TCP C# 发送 Byte[] (TreeView)

这听起来有点复杂,但我在计算机上有一个TreeView。然后我将它转换为字节数组,通过TCP发送,将字节数组转换回TreeView,然后再次查看它。出于某种原因,它非常有问题,完全相同的TreeView可能工作一次,然后在接下来的10次都没有。如果TreeView较小,它似乎工作得更多。我知道一个事实错误是通过tcp发送它,因为我制作了一个程序,它只是将它转换为字节数组并返回,该程序在100%的时间内工作。这是代码:byte[]data=SerilizeQueryFilters(TreeFiles);//Converttobyte[]function,100%worksfine.str

C# 对象类型转换为 byte[],通过 TCP 发送并转换回 double

我是C#编程的新手,通常处理PLC编程和HMI/SCADA系统开发。最后一个只涉及一些奇怪的C/VBS脚本。最近,在我的一个项目中,我将最初在LabVIEW中开发的SCADA系统升级/迁移到西门子WinCC应用程序。在LabVIEW项目中,有一部分负责通过TCP套接字将标签值(双值与标签名称捆绑在一起并转换为字符串)发送到另一台运行C#应用程序(TCP客户端)的PC,该应用程序正在接收字节数组并将其转换为双重值(value)。LabVIEWTCPServerExample以及在另一台PC上运行的TCPClient的部分代码。TcpClient_client;NetworkStream_

c# - 取消固定在 .NET 套接字服务器中自动固定的 byte[]

我有一个异步套接字服务器。我遇到了一个问题,有问题的客户端和难以重现的网络事件导致大量字节[]被固定。由于处理客户端的所有线程都是隐式的(我使用BeginAcceptClient,并且我使用回调而不是显式实例化的线程),所以我不控制固定过程。“隐式线程”是指线程不是由我直接生成的,而是由托管我的应用程序的运行时生成的。无论如何this中的答案帖子显示了如何取消固定对象。如果我继续前进并自己固定字节[],执行BeginRead并在清理期间取消固定,是否可以覆盖幕后固定?谢谢。 最佳答案 您链接到的帖子中的答案是完全错误的(我刚刚在那里

tcp - BufWriter::write() 不会将字节写入 TcpStream

我用Rust编写了一个echo服务器和客户端。这是我的代码:服务器:usestd::net::{TcpListener,TcpStream};usestd::thread;usestd::io::Write;usestd::io::BufReader;usestd::io::BufRead;usestd::io::BufWriter;fnhandle_connection(stream:TcpStream){letstream_clone=stream.try_clone().unwrap();letmutreader=BufReader::new(stream);letmutwrit

c - Fork Process/Read Write through pipe 慢

回答https://stackoverflow.com/a/12507520/962890太琐碎了..args!但收到了很多好的信息。感谢大家。编辑github链接:https://github.com/MarkusPfundstein/stream_lame_testing原帖我有一些关于通过管道进行IPC的问题。我的目标是接收每个TCP/IP流的MP3数据,通过LAME将其解码为wav,进行一些数学运算并将其存储在磁盘上(作为wav)。我在整个过程中都使用非阻塞IO。让我有点恼火的是,tcp/ip读取比管道线槽快得多。当我发送~3MBmp3时,文件会在几秒钟内在客户端读取。一开始,

c# - NetworkStream.Write 阻塞到什么时候?

我能想到这些可能的答案:直到数据被写入IP堆栈中的某个内部缓冲区。直到数据通过网络发送。直到从另一台机器收到接收确认。 最佳答案 直到数据写入发送端的发送缓冲区。因此,如果缓冲区已满,它将阻塞。如果由于网络问题或接收方的接收缓冲区已满而尚未传输数据,则发送缓冲区可能已满。您可以进行一个实验:创建发送方和接收方,将发送方的套接字发送缓冲区设置为较小的值,并将接收方的接收缓冲区设置为较小的值。开始发送,接收方接受连接,但不接收。当发送的字节数约为SenderSendBuffer+ReceiverReceiveBuffer时,socket

c# - NetworkStream 获取 System.IO.IOException : Unable to write data to the transport connection

我正在使用NetworkStream来保持打开的TCP/IP连接,消息可以通过该连接发送。我收到一条消息,处理它,然后返回一个ACK​​。我正在使用一个偶尔会收到消息的站点,但是当我发送ACK时,我收到了IOException。有时这只会持续一两条消息(我可以收到下一条消息),而其他时候它会一直持续到服务停止并重新启动。下面是我的NetworkStream的代码,没有任何处理:using(NetworkStreamstream=client.GetStream()){stream.ReadTimeout=ReadTimeout;...if(stream.CanRead&&stream.