草庐IT

八进制

全部标签

c - TCP 标志过滤器的十六进制、按位或反转

我正在使用C中的TCP转储数据包捕获方法,我正在查看TCP标志部分,我需要一种方法来检查是否在数据包上设置了SYN标志。当我运行程序时,我可以访问下面结构中的th_flags变量,并且我得到一个类似6144或4096的值作为返回。我如何根据输出给出的数字确定设置了哪些标志?structsniff_tcp{u_shortth_sport;/*sourceport*/u_shortth_dport;/*destinationport*/tcp_seqth_seq;/*sequencenumber*/tcp_seqth_ack;/*acknowledgementnumber*/u_chart

Ruby TCPSocket 发送/接收二进制数据 -> 数组哈希等

我正在尝试在Ruby中创建自定义游戏服务器协议(protocol),但我不明白我可以/应该如何做一些事情:Q->1#服务器使用TCPServer/TCPSocket向客户端发送一个数组。但我不能使用JSON,因为传输需要二进制。我如何将ruby​​数组转换为二进制,然后可以在客户端将其转换回数组?这是我的服务器:#!/usr/bin/envrubyrequire'socket'server=TCPServer.new5020loopdoThread.start(server.accept){|c|print"newClientconnected"a=["Hello,there"]pay

php - 如何通过套接字安全地发送二进制数据并确保没有人可以重新发送它?

首先,我将统计我正在构建的内容,以便如果有人对我的问题有替代解决方案。Soo,基本上有一个游戏有多人游戏选项。我拥有一个服务器..但是,存在一个问题,即人们向那里的游戏添加非法模组,以便能够在服务器中获得不公平的机会。所以我的想法是为游戏创建一个自定义启动器,基本上首先检查游戏是否经过修改,如果没有,它会向玩家调用的服务器发送TCP请求BLAIPxx.xx.xx没有任何模组,现在要加入。顺便说一下,连接是通过AES128加密保护的。现在谈谈我的实际问题。Soo..当我创建加密/解密系统时。(它是AES和base64的混合),我注意到人们可以嗅探套接字,然后复制从启动器发送到服务器的散列

http - 是否值得为二进制通信实现一个服务器

我需要在两个远程模块/程序之间实现通信。客户端发送一个图像,服务器响应另一个图像。通信必须非常快,服务器必须可靠。多个客户端每秒同时发送多个请求(图片)。我想知道受过教育的意见。现在,我的问题是:1*TCP还是HTTP?2*你会实现服务器(打开套接字池等),还是更好地依赖一个良好且成熟的服务器(如Tomcat)来处理通信,这样你就可以只专注于逻辑你部署了服务器?我几乎下定决心要使用成熟的服务器和HTTP,但我想阅读提示和可能的陷阱。非常感谢。干杯 最佳答案 专用服务器会更快并且使用更少的资源。但是,实现起来需要更长的时间。使用HTT

c# - 从服务器读取二进制响应

我正在使用TcpClient并将我的应用程序连接到服务器。该服务器使用二进制数据序列化,所以我以二进制格式发送请求,但得到的响应是这样的:这是我的代码:TcpClientclient=newTcpClient("173.240.5.1",443);NetworkStreamstream=client.GetStream();System.Text.ASCIIEncodingencoding=newSystem.Text.ASCIIEncoding();byte[]sendBytes=encoding.GetBytes("YmFzZTY0IGVuY29kZWQgc3RyaW5n");st

格雷码与二进制的转换

格雷码与二进制的转换格雷码转二进制码的基本思路:格雷码转二进制是从左边第二位起,将每位与左边一位二进制码的值异或,作为该位二进制码后的值(最左边一位依然不变)。以其中一个为例:格雷码111->二进制101第一步:最左边不变->1**。得出二进制第一位为1第二步:从左往右.第三步:异或->10*。1^1得出二进制第二位为0第四步:将上一步的结果(二进制位)与格雷码异或->101。0^1得出二进制第三位为1二进制码转格雷码的基本思路:从最右边一位起,依次将每一位与左边一位异或(XOR),作为对应格雷码该位的值,最左边一位不变。以其中一个为例:二进制101->格雷码111第一步:最左位不变->1**

string - 通过字符串发送二进制数据包有优势吗?

标题说明了一切。基本上我将TCP用于客户端-服务器设置,我想知道在通过tcp发送数据之前将字符串转换为二进制是否有优势? 最佳答案 字符串是二进制数据,或者至少可以很容易地转换成这样,byte[],用staticbyte[]GetStringBytes(stringstr){byte[]bytes=newbyte[str.Length*sizeof(char)];System.Buffer.BlockCopy(str.ToCharArray(),0,bytes,0,bytes.Length);returnbytes;}如果您对发送的

c++ - 在 C++ 中以十六进制读取文件

我目前正在编写一个具有客户端-服务器架构(TCP通信)的iOS应用程序。我现在正在服务器端编写一个模块,该模块应该以十六进制值的形式读取声音文件,并将1024x1024字节的声音文件发送到客户端。我不是经验丰富的C++开发人员,我在阅读文件方面需要一些帮助。现在我的代码是:voidPacketInterpreter::sendFile(intturn,intgameID){std::stringabsoluteFilePath=(std::to_string(gameID)+"/sound.caf");unsignedcharx;std::ifstreamfile(absoluteFi

c++ - 如何解析网络流量的十六进制代码

首先,感谢StackOverflow社区。我在这里找到了很多称职的答案,所以我将尝试提出我自己的问题。我有一个WinPcap示例程序,它将我的网络流量“转储”为Hexcode。我做了一个简单的服务器/客户端对,它定期发送一些文本(22字节)。问题:在C++中解析此十六进制转储并生成类似于Wireshark或phd的输出(仅在控制台中)。在阅读了一些TCP/IP引用资料(1)之后,我无法确定所有字节的“值”所以例如有76个字节,向后读:前22个字节是我的数据;那么,TCP头有20个;IPheader为20,然后是其他一些字节,我不知道它们代表什么。我对IP协议(protocol)不是很了

c# - 网络流二进制序列化

嘿伙计们,我正在制作一个聊天程序,我有一个父“MessagePacket”类和一堆子类,用于发送不同类型的数据包,其中包含主聊天窗口的消息,当前人员列表聊天、私聊消息等在客户端中,我做的第一件事是创建一个“AddClientPacket”并将其序列化/发送到服务器,然后服务器将其反序列化为它的父“MessagePacket”类,该类包含一个类型属性,用于确定要发送的内容使用它获得的通用MessagePacket进行转换/执行。当服务器尝试反序列化它时会导致崩溃,我不确定为什么。下面是一些代码:--服务器--privatevoidHandleClientComm(Objectclient