拢不君
2018-08-20 20:50
我按照视频里的打完后 按顺序执行 server正常显示,client 执行后不报错也不显示
client:
package com.socketTCP;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
public class client {
public static void main (String[] args) {
try {
Socket socket = new Socket ("localhost",1718);
OutputStream os = socket.getOutputStream();
PrintWriter pw = new PrintWriter(os);
pw.write("用户名:admin ; 密码:123");
pw.flush();
socket.shutdownOutput();
pw.close();
os.close();
socket.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
server:
package com.socketTCP;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
try {
ServerSocket serversocket = new ServerSocket(1718);
System.out.println("服务器即将启动,等待连接");
Socket socket = serversocket.accept();
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String info = null;
while((info = br.readLine())!= null){
System.out.println("我是服务器,客户端说:"+info);
}
socket.shutdownInput();
br.close();
isr.close();
is.close();
socket.close();
serversocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Socket socket = new Socket ("localhost",1718);
这一句 你改成
Socket socket = new Socket (InetAddress.getLocalHost(),1718);
如果您还不是不理解,有什么困惑,可以私信我。我会尽快回复,帮你解答。
你看的这个章节中:
server中仅仅实现了接受来自client的字符串信息的功能,所以在server运行的控制台会显示接收到信息。
client中仅仅实现了发送字符串信息的功能,没有接受的功能,所有在它的控制台也就没有信息显示。
你继续学习后续这个课程后续的视频,会逐步的完善server和client的功能,到时候client也会显示相应的信息了。
望采纳。
客户端本来就没有在控制台输出任何的内容
Java Socket应用---通信是这样练成的
125013 学习 · 590 问题
相似问题