求助:同一台机器上的服务器和客户端无法取得TCP连接

时间:2022-10-27 05:58:30
服务器:C#做的Windows Form程序
客户端:WM 6.0平台
在同一台机器上,局域网ip是10.3.6.252。

IPEndPoint localIPEndPoint = new IPEndPoint(IPAddress.Parse("10.3.6.252"), 22222);
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Bind(localIPEndPoint);
socket.Listen(1000);
Socket newSocket = socket.Accept();


IPEndPoint ipe = new IPEndPoint(IPAddress.Parse("10.3.6.252"), 22222);
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
s.Connect(ipe);


代码如上,怎么都连不上!
但是发现:
1、如果服务器是用java写的话,就可以连上
2、把如果客户端也是Windows Form程序的话,也可以连上

请问这是怎么回事?

6 个解决方案

#1


你接入点有问题吧。还有什么叫客户端也是Windows Form?

#2


部署到模拟器上以后,并没有让我选择接入点啊!

我的意思是,如果客户端同样的代码,新建一个windows forms application工程,则客户端和服务器能够连接,但是把这个代码放到wm平台上,就不能连接了。

#3


你连接什么呢?模拟器的IP是127.0.0.1,自己调试一下就知道应该连接什么IP了!

#4


引用 3 楼 chenhong0716 的回复:
你连接什么呢?模拟器的IP是127.0.0.1,自己调试一下就知道应该连接什么IP了!

我从模拟器向同一台机器上的服务器发起连接,ip是局域网的ip,不是127.0.0.1。

#5


你先讲模拟器连上网,之后再试试

#6


我跟楼主遇到的是同样的问题,我已经“插入底座”,但是还是不行,不知道楼主是否在“设备仿真器管理器”中将设备“插入底座”?如果不插入是肯定连接不上的,就相当于你的手机没有连接上网,不知道这么说楼主是否明白?
我的现象是,可以连接到本机PC,在执行tcp连接时并没有异常,但是通过调试发现连接不到指定端口的服务器程序。
服务器程序IP应该就是本机PC的IP

#1


你接入点有问题吧。还有什么叫客户端也是Windows Form?

#2


部署到模拟器上以后,并没有让我选择接入点啊!

我的意思是,如果客户端同样的代码,新建一个windows forms application工程,则客户端和服务器能够连接,但是把这个代码放到wm平台上,就不能连接了。

#3


你连接什么呢?模拟器的IP是127.0.0.1,自己调试一下就知道应该连接什么IP了!

#4


引用 3 楼 chenhong0716 的回复:
你连接什么呢?模拟器的IP是127.0.0.1,自己调试一下就知道应该连接什么IP了!

我从模拟器向同一台机器上的服务器发起连接,ip是局域网的ip,不是127.0.0.1。

#5


你先讲模拟器连上网,之后再试试

#6


我跟楼主遇到的是同样的问题,我已经“插入底座”,但是还是不行,不知道楼主是否在“设备仿真器管理器”中将设备“插入底座”?如果不插入是肯定连接不上的,就相当于你的手机没有连接上网,不知道这么说楼主是否明白?
我的现象是,可以连接到本机PC,在执行tcp连接时并没有异常,但是通过调试发现连接不到指定端口的服务器程序。
服务器程序IP应该就是本机PC的IP