我按照视频中一模一样打的代码为什么服务器端运行了,客户端运行时什么东西都没有输出
我按照视频中一模一样打的代码为什么服务器端运行了,客户端运行时什么东西都没有输出
我按照视频中一模一样打的代码为什么服务器端运行了,客户端运行时什么东西都没有输出
2016-08-02
pw.flush();//刷新缓存
pw.close();
os.close();
socket.shutdownInput();
br.close();
is.close();
socket.close();
这个是客户端的 其中 socket.shutdownInput 应该改为socket.shutdonwnOutput
因为上面是接收了 输出流 所以是要关闭输出流
再有是你的客户端的地方 有同样的问题 把socket.shutdownOutput 改为socket.shutdownInput
System.out.println("我是客户端,服务器说"+info);
info = br.readLine();
}
pw.flush();
socket.shutdownOutput();
pw.close();
package com.imooc;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
/**
*
* 服务器
*
*/
public class Serve {
public static void main(String[] args) {
//1.创建一个服务器socket
try {
ServerSocket serversocket =new ServerSocket(8888);
//2.调用accept方法开始监听,等待客户端的链接
System.out.println("****服务器即将启动,等待客户端的链接****");
Socket socket =serversocket.accept();
//3.获取输入流,并读取客户端信息
InputStream is=socket.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String info =null;
while ((info =br.readLine())!=null)
{
System.out.println("我是服务器,客户端说"+info);
info = br.readLine();
}
OutputStream os=socket.getOutputStream();
PrintWriter pw=new PrintWriter(os);
pw.write("welcome!");
pw.flush();//刷新缓存
pw.close();
os.close();
socket.shutdownInput();
br.close();
is.close();
socket.close();
serversocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//>1023
}
}
这是服务器端的
package com.imooc;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
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",8888);
//2.获取输出流,向服务器端发送信息
OutputStream os=socket.getOutputStream();
PrintWriter pw=new PrintWriter(os);
pw.write("用户名:admin;密码:123");
InputStream is=socket.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String info =null;
while ((info =br.readLine())!=null)
{
System.out.println("我是客户端,服务器说"+info);
info = br.readLine();
}
pw.flush();
socket.shutdownOutput();
pw.close();
os.close();
socket.close();
br.close();
is.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
这是客户端
举报