我想在成功建立套接字连接后从服务器获取响应。我使用了GitHub Socket source code的源代码。
我在按钮点击下面放置了以下代码:
NSString *outgoingMessage = @"Some string to be sent to server";
NSData *messageData = [outgoingMessage dataUsingEncoding:NSUTF8StringEncoding]
const void *bytes = [messageData bytes];
uint8_t *uint8_t_message = (uint8_t*)bytes;
[outputStream write:uint8_t_message maxLength:strlen([outgoingMessage cStringUsingEncoding:[NSString defaultCStringEncoding]])];
while (![inputStream hasBytesAvailable]) {
usleep(1);
}
uint8_t buffer[1024];
[inputStream read:buffer maxLength:1023];
NSString *outputString = [NSString stringWithUTF8String:(char *)buffer];
NSLog(@"outputString : %@ ",outputString);
我得到一个空的回复。调试后我的代码也没有进入 NSStreamEventHasBytesAvailable 案例
- (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode { .. }
可能有什么问题需要解决?
答案 0 :(得分:1)
我建议您使用Objective-C WebSocket客户端,SocketRocket来命名一个: https://github.com/square/SocketRocket
可以在此处找到使用Websocket客户端的简单示例:http://www.elabs.se/blog/66-using-websockets-in-native-ios-and-android-apps