【发布时间】:2023-03-19 09:15:01
【问题描述】:
我正在尝试通过 UDP 向服务器发送命令。服务器在开始时需要几个十六进制字节,虽然 PHP 这很容易
'\xFF\xFFcmd command variable'
那我fwrite()那没问题。
现在我正在 Cocoa 中构建一个客户端,但我根本无法让服务器理解我,数据已发送,但我认为它不正确或损坏。我正在尝试使用 CocoaAsyncSocket..
NSString *msg = [NSString stringWithFormat:@"%c%ccmd command variable",0xFF,0xFF];[socket connectToHost:@"85.25.248.160" onPort:28960 error:nil];
unsigned char lendata = [msg length];
NSMutableData *senddata = [NSMutableData dataWithBytes: &lendata length:sizeof(lendata)] ;
[senddata appendData:[msg dataUsingEncoding:NSUTF8StringEncoding]];
[socket sendData:senddata withTimeout:-1 tag:0];
msg 的 NSLog 是 'ˇˇcmd command variable' 但在我无法访问的服务器上没有发生任何事情来侦听格式错误的数据包。
我的猜测是,通过将0xFF放入字符串中,它不再相同,并且发送错误..
【问题讨论】: