为了账号安全,请及时绑定邮箱和手机立即绑定

为什么TCP通信在我的电脑上服务端接收不到,其他电脑可以?

为什么TCP通信在我的电脑上服务端接收不到,其他电脑可以?

慕粉w0w 2016-10-10 10:29:48
package com.imooc.tcpsocket; import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; public class TCPServer { public static void main(String[] args) throws IOException { //服务端接收客户端发送的数据,并打印在控制台上。 //1。创建服务端socket服务。通过ServerSocket对象 //2.服务端必须对外提供一个端口,否则客户端无法连接。 ServerSocket ss=new ServerSocket(10002); //3.获取连接过来的客户端对象。 Socket s=ss.accept();//阻塞式 String ip=s.getInetAddress().getHostAddress(); //4.通过客户端对象获取socket流读取客户端发来的数据,并打印在控制台上。 InputStream in=s.getInputStream(); byte[] buf=new byte[1024]; int len=in.read(buf); String text=new String(buf, 0, len); System.out.println(ip+":"+text); //5.关闭资源。关客户端,关服务端(服务端一般不关闭) s.close(); ss.close(); } } package com.imooc.tcpsocket; import java.io.IOException; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; public class TCPClient { public static void main(String[] args) throws IOException { System.out.println(InetAddress.getLocalHost().getHostAddress()); //TCP传输,客户端建立过程 //1.创建tcp客户端socket服务,使用socket对象。 //建议该对象一创建就明确目的地。要连接的主机。 Socket socket=new Socket(InetAddress.getLocalHost().getHostAddress(), 10002); //2.如果连接建立成功,说明数据通道已建立。 //该通道是socket流,是底层建立好的,既然是流,说明既有输入,又有输出。 //想要输入或输出流对象,可以找socket来获取。 //可以通过getOutputStream()和getInputStream()来获取2个字节流 OutputStream out=socket.getOutputStream(); //3.使用输出流,将数据写出。 out.write("hello,again!!!~".getBytes()); //4.关闭资源 socket.close(); } }
查看完整描述

1 回答

?
王大厉

TA贡献58条经验 获得超11个赞

192.168.1.192:hello,again!!!~

测试是可以接受的到的

查看完整回答
反对 回复 2016-10-10
  • 1 回答
  • 0 关注
  • 1965 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信