一个在ppc下socket通信的问题,急得都不行了,跪请高手解决!!!
代码如下:
try
{
IPAddress serverAddress;
serverAddress = IPAddress.Parse( "192.168.0.137 ");
Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint iep = new IPEndPoint(serverAddress, 8001);
bool a = clientSocket.Connected;
clientSocket.Connect(iep);
byte[] buffer = new byte[3];
buffer[0] = 50;
buffer[1] = 51;
buffer[2] = 52;
clientSocket.Send(buffer);
byte[] buffer2 = new byte[3];
clientSocket.Receive(buffer2);
// this.labelReceiveText.Text = System.Text.ASCIIEncoding.ASCII.GetString(buffer2, 0, 3);
System.Windows.Forms.MessageBox.Show( "Conect Ok ");
}
catch
{
System.Windows.Forms.MessageBox.Show( "连接失败 ");
}
问题:主机拒绝访问.
这是什么原因?请大家给小弟分析一下.
[解决办法]
服务器端有没有创建服务器端socket来等待连接?
[解决办法]
“My Work Network "和 "单位设置 "是一个意思。
你这个 "192.168.0.137 "是PC的IP吧,而且你的机器连接到ActiveSync电脑上。
ActiveSync会自动在PPC和PC间建立一个网络。
一般有两种情况
1.
PC 192.168.55.102
PPC 192.168.55.101
2
PC 169.254.2.2
PPC 169.254.2.1
你用这两个PC的IP试一下。
下面这段代码是取得通过ActiveSync连接后,PC端的IP.
IPAddress address = null;
IPHostEntry dnsEntry = Dns.GetHostByName( "ppp_peer ");
address = (dnsEntry != null && dnsEntry.AddressList != null&&dnsEntry.AddressList.Length > 0 ?dnsEntry.AddressList[0] : null);
还有,你用真机试一下,连接上Wi-Fi,如果还不能访问你就是的你的代码有问题。