2012-07-21 3 views
1

소켓을 통해 iPhone과 C# 서버간에 통신하고 싶습니다. iPhone에서 소켓을 사용하여 Cocarpas 서버로 LAN을 통해 cocoaasynsockets를 사용하여 소켓을 만들려고하지만 서버에서 소켓을 만들지 않습니다. . 나는 127.0.0.1/192.168.2.102(local)/IP이 (whatispmyip.com)에 발견처럼 서로 다른 IP를 부여했지만, 아무 이득 여기 cocoaasynsocket to c sharp server

여기
- (IBAction)connect:(id)sender{ 
GCDAsyncSocket *socket; 
socket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()]; 
NSError *err = nil; 

if (![socket connectToHost:@"192.168.2.102" onPort:52523 error:&err]) // Asynchronous! 
{ 
    NSLog(@error : %@"", err); 
} 

} 


- (void)socket:(GCDAsyncSocket *)sender didConnectToHost:(NSString *)host port:(UInt16)port 
{ 
NSLog(@"connected"); 
} 

와 아이폰

내 테스트 코드입니다 내 C 날카로운 서버 코드

TcpListener _tcpListerner; 

    public void startingServer() { 

     // IPAddress ipad = Dns.Resolve("localhost").AddressList[0]; 

     IPAddress ipad = IPAddress.Parse("192.168.2.102"); 
     _tcpListerner = new TcpListener(ipad, 52523); 


     _tcpListerner.Start(); 

     Console.WriteLine("The local End point is :" +_tcpListerner.LocalEndpoint); 
     Console.WriteLine("Waiting for a connection....."); 


     Thread thread = new Thread(acceptClients); 
     thread.Start(); 

    } 

    void acceptClients() 
    { 


     Socket s = _tcpListerner.AcceptSocket(); 
     Console.WriteLine("Connection accepted from " + s.RemoteEndPoint); 


     byte[] b = new byte[100]; 
     int k = s.Receive(b); 

     char cc = ' '; 
     string test = null; 
     Console.WriteLine("Recieved..."); 
     for (int i = 0; i < k - 1; i++) 
     { 
      Console.Write(Convert.ToChar(b[i])); 
      cc = Convert.ToChar(b[i]); 
      test += cc.ToString(); 
     } 

내가 거기에 놓친 거지 뭐, 내가주고, 또는 서버 측 또는 아이폰 (클라이언트 측)에 대한 몇 가지 설정/동의를 네트워크

에서 소켓을 만들 수있다한다 IP
+0

정확히 무엇이 문제인지 분명히 알지 못합니다. 질문을 다시하십시오. –

+0

@NikolaiNFetissov 안녕하세요, 제 질문을 수정했습니다. 다시 확인해주세요. –

답변

1

서버에서 IPAddress.Any을 사용하여 모두 컴퓨터 주소에서 수신 대기합니다. 클라이언트 측에서는 연결하려는 서버의 LAN 주소를 사용하십시오.

+0

감사합니다. 친구가되어 주셔서 감사합니다. –