gpt4 book ai didi

ios - Asyncsocket iPhone读取数据

转载 作者:行者123 更新时间:2023-12-01 19:28:06 25 4
gpt4 key购买 nike

我正在尝试使用以下代码捕获来自.NET服务器的响应。

进行telnet测试有效(我得到响应);但是,使用此代码,我没有得到回应。

-(IBAction)connectClicked:(id)sender {
if (![socket connectToHost:@"192.168.100.192" onPort:1337 error:nil]) {
NSLog(@"connection failed");
}
}

-(IBAction)fireClicked:(id)sender {
NSString *welcomeMsg = @"GetId";
NSData *welcomeData = [welcomeMsg dataUsingEncoding:NSUTF8StringEncoding];
[socket writeData:welcomeData withTimeout:-1 tag:0];
NSLog(@"message sent!");
}

- (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString*)host port:(UInt16)port {
NSLog(@"onSocket:%p didConnectToHost:%@ port:%hu", sock, host, port);
[sock readDataToData:[AsyncSocket CRLFData] withTimeout:-1 tag:0];
}

-(void) onSocket:(AsyncSocket *)sock didReadData:(NSData*)data withTag:(long)tag {
NSLog(@"onSocket:%p didReadData:%i", tag);
[sock readDataToData:[AsyncSocket CRLFData] withTimeout:-1 tag:0];
}

- (void)onSocket:(AsyncSocket *)sock didWriteDataWithTag:(long)tag {
NSLog(@"onSocket:didWriteDataWithTag:%i", tag);
[sock readDataToData:[AsyncSocket CRLFData] withTimeout:-1 tag:0];
}

我确实获得了与服务器的连接,并且能够将信息发送到服务器,但是没有得到答复。

这就是我在日志中得到的;
2011-03-21 10:00:32.424 CtC[33521:207] onSocket:0x4c3ebc0 didConnectToHost:192.168.100.192 port:1337
2011-03-21 10:00:35.846 CtC[33521:207] message sent!

为什么我没有收到回复?

最佳答案

我也有同样的问题。由于服务器不知道命令何时结束,因此我在写入数据时模拟了“输入”按钮。

所以这条线

NSString *welcomeMsg = @"GetId"; 

应该成为
NSString *welcomeMsg = @"GetId\r\n";

现在工作了。

关于ios - Asyncsocket iPhone读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5365409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com