为什么TCP通信在我的电脑上服务端接收不到,其他电脑可以?
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(); }} |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
192.168.1.192:hello,again!!!~
测试是可以接受的到的 |
|
|
|
|