当前位置: 代码迷 >> Eclipse >> Socket中知道对方IP地址,如何连接到对方?
  详细解决方案

Socket中知道对方IP地址,如何连接到对方?

热度:86   发布时间:2016-04-23 01:23:52.0
Socket中知道对方IP地址,怎么连接到对方??
我写了一个服务器程序和客户端程序...想在客户端里面直接写进代码后,给别人电脑打开,但是不清楚IP怎么写的...

Socket client;
client=new Socket("192.168.1.101",8080);

里面的IP是我电脑的,这个IP是内部网络自己定的,怎么改成,才能实现任何人都能访问到我的电脑呢?
我在本地同时开了客户端和服务器是可以通讯的..就是远程的话IP我不知道怎么写
Socket Java 通信

------解决方案--------------------
需要NAT,然后还需要穿墙,这个一般不会有谁会提供源码,LZ自己慢慢研究吧,本人也面临同样的问题,LZ加油
------解决方案--------------------
服务端有一个IP和端口号,客户端也有一个IP和端口号,你只要用的是UDP或者TCP协议写的,即使是远程也可以访问服务端,因为现在的路由器都有这种连接功能,如果是广播的话,路由器会过滤掉。

------解决方案--------------------
服务端和客户端实现通信:
1、在服务端开始“接受客户端的连接"        
   private TcpListener tcpListener;
   TcpClient newClient = null;
   newClient = tcpListener.AcceptTcpClient();

2、在客户端连接服务端
   private TcpClient tcpClient;  
   tcpClient = new TcpClient();
   tcpClient.Connect("服务端IP", "服务端端口号");//我这里用中文只是提示一下,规范不对。

3、剩下的流程按发送消息和接受消息处理。你在本地能测试通过,说明这块你能写出来。
------解决方案--------------------
 通过域名去得到IP,这样你设置不设置都可以不管它。    
  IPAddress[] arr_IP = Dns.GetHostAddresses("");
  //IPAddress[] arr_IP = Dns.GetHostAddresses("localhost");
  CurIp = arr_IP[0].ToString();
------解决方案--------------------
建议你看一下计算机网络的基础知识。
首先你要有个固定公网IP(很难)
其次,你要把你在内网中的计算机暴露出去,一般是端口映射,上面已经提到了NAT(这一般要你的局域网、路由器的管理权限)
  相关解决方案