- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 C# 查询使命召唤 4 rcon 以获取玩家的状态,它工作正常但似乎没有收到超过 1303 个字符的响应。
public string sendCommand(string rconCommand, string gameServerIP,
string password, int gameServerPort)
{
Socket client = new Socket(AddressFamily.InterNetwork,
SocketType.Dgram,
ProtocolType.Udp);
client.Connect(IPAddress.Parse(gameServerIP), gameServerPort);
string command;
command = "rcon " + password + " " + rconCommand;
byte[] bufferTemp = Encoding.ASCII.GetBytes(command);
byte[] bufferSend = new byte[bufferTemp.Length + 4];
bufferSend[0] = byte.Parse("255");
bufferSend[1] = byte.Parse("255");
bufferSend[2] = byte.Parse("255");
bufferSend[3] = byte.Parse("255");
int j = 4;
for (int i = 0; i < bufferTemp.Length; i++)
{
bufferSend[j++] = bufferTemp[i];
}
IPEndPoint RemoteIpEndPoint
= new IPEndPoint(IPAddress.Parse(gameServerIP), 0);
client.Send(bufferSend, SocketFlags.None);
byte[] bufferRec = new byte[64999];
client.Receive(bufferRec);
return Encoding.ASCII.GetString(bufferRec);
}
显然其他人似乎对此没有问题,但我却遇到了问题。有人有什么想法吗?
最佳答案
我对 Quake RCON 协议(protocol)的内存是模糊的,但我相信特殊的 header 是 5 个字节,0xFF 0xFF 0xFF 0xFF 0x02
。如果 COD4 不是这种情况,请忽略此建议。
此外,您不能依赖一次调用 Socket.Receive
就接收到所有数据。我对 Quake RCON 的体验并不总是“如预期的那样”最好的返回。
byte[] bufferSend = new byte[bufferTemp.Length + 5 ];
bufferSend[0] = 0xFF;
bufferSend[1] = 0xFF;
bufferSend[2] = 0xFF;
bufferSend[3] = 0xFF;
bufferSend[4] = 0x02;
Buffer.BlockCopy(bufferTemp, 0, bufferSend, 5, bufferTemp.Length);
...
StringBuilder response = new StringBuilder();
byte[] bufferRecv = new byte[65536];
do
{
// loop on receiving the bytes
int bytesReceived = client.Receive(bufferRecv);
// only decode the bytes received
response.Append(Encoding.ASCII.GetString(bufferRecv, 0, bytesReceived));
} while (client.Available > 0);
return response.ToString();
关于c# - 未从对服务器的 rcon 请求获得完整响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6728032/
我正在尝试设置 rcon 函数,并且我正在使用 node-rcon 。随着example provided它工作完美,但对于我的代码,它不起作用,我不明白为什么。知道我的代码有什么问题吗?它不会抛出任
我正在使用 C# 查询使命召唤 4 rcon 以获取玩家的状态,它工作正常但似乎没有收到超过 1303 个字符的响应。 public string sendCommand(string rconCom
我正在为 Insurgency(源引擎游戏)专用服务器编写 RCON 客户端。我正在使用RCON protocol由 Valve 定义,用于所有使用 Source 引擎的游戏。我可以成功地将命令发送到
我正在致力于为 Minecraft 实现 RCON,它使用 Valve rcon 协议(protocol),并且我已经掌握了 C 源代码并尝试将其实现到 Java 中,这就是我到目前为止所做的: 创建
大家好, 我正在尝试使用 VisualStudio.NET 在 Basic 中编写我自己的小型 RCON 工具。该程序正确发送数据,因此我假设“发送”和“连接”部分工作正常。游戏服务器正确执行命令,但
我正在为使命召唤黑色行动创建一个 RCON 网络应用程序。 COD 使用 rcon 和 udp 数据包发送和接收信息。使用以下代码,我已经能够使用 COD4 服务器发送和接收信息。现在 COD7 已经
我再次需要你的帮助来解决我的这个问题......已经一天了,我似乎无法找出为什么我的代码和输出会发生这种情况。 好的.....所以基本上我正在尝试实现 RCON Protocol C# 中的 Valv
我是一名优秀的程序员,十分优秀!