- (void)viewDidLoad {
[super viewDidLoad];
//1. 创建客户端socket
self.clientSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_global_queue(0, 0) socketQueue:NULL];
//2. 连接服务端socket
[self.clientSocket connectToHost:@"127.0.0.1" onPort:5678 error:nil];
}
#pragma mark - GCDAsyncSocketDelegate
- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port {
//3. 读取数据
[sock readDataWithTimeout:-1 tag:0];
}
#pragma mark - 读取数据会调用的方法
- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag {
NSString *dataStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"客户端: %@", dataStr);
//读取到数据, 再次进入读取状态
[sock readDataWithTimeout:-1 tag:0];
}
#pragma mark - UITextFieldDelegate
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
//4. 发送数据
[self.clientSocket writeData:[textField.text dataUsingEncoding:NSUTF8StringEncoding] withTimeout:-1 tag:0];
textField.text = @"";
[textField resignFirstResponder];
return YES;
}
Socket客户端配置
最新推荐文章于 2023-12-10 14:51:46 发布