ハンドヘルドと PC 間の通信を確立しようとしています。
クライアント用に次のコードがあります。
public void connect(string IPAddress, int port)
{
// Connect to a remote device.
try
{
IPAddress ipAddress = new IPAddress(new byte[] { 192, 168, 1, 10 });
IPEndPoint remoteEP = new IPEndPoint(ipAddress, port);
// Create a TCP/IP socket.
client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
// Connect to the remote endpoint.
client.BeginConnect(remoteEP, new AsyncCallback(ConnectCallback), client);
if (connectDone.WaitOne()){
//do something..
}
else{
MessageBox.Show("TIMEOUT on WaitOne");
}
}
catch(Exception e){
MessageBox.Show(e.Message);
}
}
私の問題は、PC で両方を実行すると正常に通信することですが、SmartDevice プロジェクトの同じコードが PC で実行されているサーバーに接続せず、次のエラーが発生することです。
System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or stablished connection failed
because connected host has failed to respond
私は何が欠けていますか?
注: IPAddress はコード内にハードコーディングされています
EDIT :これは、MSDNの例から取った別のコードです。これも機能しません。読み取ることができないと表示されます。この場合のサーバー コードは例と同じですが、クライアント コードには変更があります。
private void button1_Click(object sender, EventArgs e)
{
// In this code example, use a hard-coded
// IP address and message.
string serverIP = "192.168.1.10";//HERE IS THE DIFERENCE
string message = "Hello";
Connect(serverIP, message);
}
助けてくれてありがとう!