|
@@ -31,9 +31,9 @@ WHPingDelegate
|
|
|
|
|
|
@property (nonatomic, strong) NSTimer *connectCheckTimer;
|
|
|
|
|
|
-@property (nonatomic, strong) GCDAsyncSocket *socket;
|
|
|
+//@property (nonatomic, strong) GCDAsyncSocket *socket;
|
|
|
|
|
|
-@property (nonatomic, strong) GCDAsyncSocket *serverSocket;
|
|
|
+//@property (nonatomic, strong) GCDAsyncSocket *serverSocket;
|
|
|
|
|
|
@property (nonatomic, assign) BOOL sdnConnected;
|
|
|
@property (nonatomic, assign) BOOL peerConnected;
|
|
@@ -120,7 +120,7 @@ static connectDeviceManager *connectDeviceManagerInstance = nil;
|
|
|
|
|
|
}
|
|
|
else{
|
|
|
- didNetEndIsOK(NO);
|
|
|
+ didNetEndIsOK(2);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -218,12 +218,12 @@ static connectDeviceManager *connectDeviceManagerInstance = nil;
|
|
|
|
|
|
|
|
|
/// 作为服务端时,启动端口监听
|
|
|
- self.serverSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
|
|
|
-
|
|
|
- if ([self.serverSocket acceptOnPort:0 error:NULL]) {
|
|
|
- //self.serverPortLab.text = [NSString stringWithFormat: @"server port: %d", self.serverSocket.localPort];
|
|
|
- NSLog(@"accept ok %d",self.serverSocket.localPort);
|
|
|
- }
|
|
|
+// self.serverSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
|
|
|
+//
|
|
|
+// if ([self.serverSocket acceptOnPort:0 error:NULL]) {
|
|
|
+// //self.serverPortLab.text = [NSString stringWithFormat: @"server port: %d", self.serverSocket.localPort];
|
|
|
+// NSLog(@"accept ok %d",self.serverSocket.localPort);
|
|
|
+// }
|
|
|
|
|
|
}
|
|
|
|
|
@@ -256,7 +256,7 @@ static connectDeviceManager *connectDeviceManagerInstance = nil;
|
|
|
|
|
|
|
|
|
|
|
|
- self.socket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
|
|
|
+ //self.socket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
|
|
|
|
|
|
|
|
|
|
|
@@ -288,7 +288,7 @@ static connectDeviceManager *connectDeviceManagerInstance = nil;
|
|
|
// return;
|
|
|
// }
|
|
|
|
|
|
- [self.socket writeData:[@"111" dataUsingEncoding:NSUTF8StringEncoding] withTimeout:-1 tag:0];
|
|
|
+ //[self.socket writeData:[@"111" dataUsingEncoding:NSUTF8StringEncoding] withTimeout:-1 tag:0];
|
|
|
|
|
|
}
|
|
|
|
|
@@ -329,13 +329,13 @@ static connectDeviceManager *connectDeviceManagerInstance = nil;
|
|
|
/// 6. 等待连接成功回调,创建 TCP socket 连接 HttpService 的端口
|
|
|
NSError *error;
|
|
|
|
|
|
- NSString*log1 = [[NSString alloc] initWithFormat:@"onProxyConnected connectToHost begin %ld", (long)self.tcpPort];
|
|
|
- [cachesFileManager writeLogsWithMsg:log1];
|
|
|
-
|
|
|
- [self.socket connectToHost:@"127.0.0.1" onPort:self.tcpPort error:&error];
|
|
|
-
|
|
|
- NSString*log2 = [[NSString alloc] initWithFormat:@"onProxyConnected connectToHost end %ld, self.socket = %@ error = %@", (long)self.tcpPort, self.socket, error];
|
|
|
- [cachesFileManager writeLogsWithMsg:log2];
|
|
|
+// NSString*log1 = [[NSString alloc] initWithFormat:@"onProxyConnected connectToHost begin %ld", (long)self.tcpPort];
|
|
|
+// [cachesFileManager writeLogsWithMsg:log1];
|
|
|
+//
|
|
|
+// [self.socket connectToHost:@"127.0.0.1" onPort:self.tcpPort error:&error];
|
|
|
+//
|
|
|
+// NSString*log2 = [[NSString alloc] initWithFormat:@"onProxyConnected connectToHost end %ld, self.socket = %@ error = %@", (long)self.tcpPort, self.socket, error];
|
|
|
+// [cachesFileManager writeLogsWithMsg:log2];
|
|
|
|
|
|
_curConnectDeviceState = DeviceConnectDeciceOk;
|
|
|
_Pre_sdnId = self.DeviceThirdIdMod.data.sdnId;
|
|
@@ -413,53 +413,53 @@ static connectDeviceManager *connectDeviceManagerInstance = nil;
|
|
|
|
|
|
}
|
|
|
|
|
|
-- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port {
|
|
|
-
|
|
|
- NSLog(@"didConnectToHost %d", port);
|
|
|
-
|
|
|
- NSThread *thread = [[NSThread alloc] initWithBlock:^{
|
|
|
- while (true) {
|
|
|
-
|
|
|
- [self.socket readDataWithTimeout:-1 tag:0];
|
|
|
- [NSThread sleepForTimeInterval:0.1];
|
|
|
-
|
|
|
- }
|
|
|
- }];
|
|
|
-
|
|
|
- [thread start];
|
|
|
-
|
|
|
- /// 7. Socket 连接成功后,通过 socket 发送, self.peerPortTF 为对端服务端口
|
|
|
- //[sock writeData:[[NSString stringWithFormat:@"CONNECT 127.0.0.1:%@ HTTP/1.0\r\n\r\n", @"9100"] dataUsingEncoding:NSUTF8StringEncoding] withTimeout:-1 tag:0];
|
|
|
-
|
|
|
- NSLog(@"readDataToData");
|
|
|
-
|
|
|
- [cachesFileManager writeLogsWithMsg:@"didConnectToHost writeData"];
|
|
|
-}
|
|
|
-
|
|
|
-- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag
|
|
|
-{
|
|
|
- NSLog(@"socket:%p didWriteDataWithTag:%ld", sock, tag);
|
|
|
-}
|
|
|
-
|
|
|
-- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag {
|
|
|
-
|
|
|
-
|
|
|
- if (tag == 0) {
|
|
|
-
|
|
|
- NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
|
|
|
-
|
|
|
- /// 8. 收到包含 `HTTP/1.0 200`的字符串,则认为连接成功。可以正常给对端发消息了
|
|
|
- if ([str containsString:@"HTTP/1.0 200"]) {
|
|
|
- NSLog(@"Connected");
|
|
|
- self.peerConnected = YES;
|
|
|
-// self.connectBtn.enabled = YES;
|
|
|
-// [self.connectBtn setTitle:@"断开连接" forState:UIControlStateNormal];
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- //self.revcLab.text = [NSString stringWithFormat:@"接收:%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]];
|
|
|
-}
|
|
|
+//- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port {
|
|
|
+//
|
|
|
+// NSLog(@"didConnectToHost %d", port);
|
|
|
+//
|
|
|
+// NSThread *thread = [[NSThread alloc] initWithBlock:^{
|
|
|
+// while (true) {
|
|
|
+//
|
|
|
+// [self.socket readDataWithTimeout:-1 tag:0];
|
|
|
+// [NSThread sleepForTimeInterval:0.1];
|
|
|
+//
|
|
|
+// }
|
|
|
+// }];
|
|
|
+//
|
|
|
+// [thread start];
|
|
|
+//
|
|
|
+// /// 7. Socket 连接成功后,通过 socket 发送, self.peerPortTF 为对端服务端口
|
|
|
+// //[sock writeData:[[NSString stringWithFormat:@"CONNECT 127.0.0.1:%@ HTTP/1.0\r\n\r\n", @"9100"] dataUsingEncoding:NSUTF8StringEncoding] withTimeout:-1 tag:0];
|
|
|
+//
|
|
|
+// NSLog(@"readDataToData");
|
|
|
+//
|
|
|
+// [cachesFileManager writeLogsWithMsg:@"didConnectToHost writeData"];
|
|
|
+//}
|
|
|
+//
|
|
|
+//- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag
|
|
|
+//{
|
|
|
+// NSLog(@"socket:%p didWriteDataWithTag:%ld", sock, tag);
|
|
|
+//}
|
|
|
+//
|
|
|
+//- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag {
|
|
|
+//
|
|
|
+//
|
|
|
+// if (tag == 0) {
|
|
|
+//
|
|
|
+// NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
|
|
|
+//
|
|
|
+// /// 8. 收到包含 `HTTP/1.0 200`的字符串,则认为连接成功。可以正常给对端发消息了
|
|
|
+// if ([str containsString:@"HTTP/1.0 200"]) {
|
|
|
+// NSLog(@"Connected");
|
|
|
+// self.peerConnected = YES;
|
|
|
+//// self.connectBtn.enabled = YES;
|
|
|
+//// [self.connectBtn setTitle:@"断开连接" forState:UIControlStateNormal];
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+// //self.revcLab.text = [NSString stringWithFormat:@"接收:%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]];
|
|
|
+//}
|
|
|
|
|
|
|
|
|
|