我想通过套接字在 iPhone 和 C# 服务器之间进行通信,当我尝试使用 cocoaasynsockets 通过 LAN 创建从 iPhone 到我的 C Sharp 服务器的套接字时,但它没有在我的服务器上创建任何套接字。我尝试提供不同的 IP,例如在 (whatispmyip.com) 上找到的 127.0.0.1/192.168.2.102(local)/IP,但没有任何收获,
这是我的 iPhone 测试代码
- (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");
}
这是我的cSharp服务器代码
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,或者在服务器端或 iphone(客户端)上有一些设置来接受/创建来自网络的套接字