C# アプリから iOS アプリに文字列を送信する際に問題が発生しています。ソケットを使用して C# から SocketTest にデータを送信しようとしましたが、受信しました。ソケットを使用して Socktest から iOS アプリにデータを送信しましたが、すべてうまくいきました。問題は、ソケットを使用して C# から iOS にデータを送信しようとしたときです...接続して切断しますが、メッセージを送信しません (または、iOS が読み取らない...)
C# でソケットを使用してデータを送信するには、次を使用しています。
Socket soc = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
System.Net.IPAddress ipAdd = System.Net.IPAddress.Parse("192.168.0.10");
System.Net.IPEndPoint remoteEP = new IPEndPoint(ipAdd, 2525);
soc.Connect(remoteEP);
byte[] byData = System.Text.Encoding.ASCII.GetBytes("TESTESTTES");
soc.Send(byData);
soc.Disconnect(false);
そして、iOSでそれを受け取るために、私はAsyncSocketライブラリを使用しています(これは投稿する関連コードだと思います):
-(void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port
{
[self logInfo:FORMAT(@"Accepted client %@:%hu", host, port)];
NSString *welcomeMsg = @"Welcome to the AsyncSocket Echo Server\r\n";
NSData *welcomeData = [welcomeMsg dataUsingEncoding:NSUTF8StringEncoding];
[sock writeData:welcomeData withTimeout:-1 tag:WELCOME_MSG];
[sock readDataToData:[AsyncSocket CRLFData] withTimeout:READ_TIMEOUT tag:0];
}
- (void)onSocket:(AsyncSocket *)sock didWriteDataWithTag:(long)tag
{
if(tag == ECHO_MSG)
{
[sock readDataToData:[AsyncSocket CRLFData] withTimeout:READ_TIMEOUT tag:0 ];
}
}
誰でも私を助けることができますか?おそらく私は間違った方法でデータを送信していますか?ASCII以外のエンコーディングも試しましたが、成功しませんでした。