为什么我的客户端一启动,服务器就关闭了

来源:3-3 编程实现基于 TCP 的 Socke t通信之客户端

南风谨

2018-11-26 20:55

为什么我的客户端一启动,服务器就关闭了

写回答 关注

2回答

  • 南风谨
    2018-11-29 15:55:12

    emmm  写错了一个语句  看来还是要细心

    try399... 回复try399...

    问问啊

    2019-05-17 16:26:48

    共 2 条回复 >

  • 南风谨
    2018-11-26 20:58:39

    客户端:

    package TCP;


    import java.io.IOException;

    import java.io.OutputStream;

    import java.io.PrintWriter;

    import java.net.InetAddress;

    import java.net.Socket;

    import java.net.UnknownHostException;


    /**

     * 客户端

     * @author 14431

     *

     */

    public class Client {

    public static void main(String[] args) {

    try {

    //1.创建客户端socket,指定服务器地址和端口

    Socket socket =new Socket(InetAddress.getLocalHost(),6666);

    //2.获取输出流,向服务器发送信息

    OutputStream os= socket.getOutputStream();//字节输出流

    PrintWriter pw =new PrintWriter(os);//将输出流包装为打印流

    pw.write("用户名:admin;密码:123");//发送信息

    pw.flush();//刷新缓存,输出信息

    socket.shutdownInput();//关闭输出流

    //3.关闭资源

    os.close();

    pw.close();

    socket.close();

    } catch (UnknownHostException e) {

    e.printStackTrace();

    } catch (IOException e) {

    e.printStackTrace();

    }

    }

    }

    服务器:


    package TCP;


    import java.io.BufferedReader;

    import java.io.IOException;

    import java.io.InputStream;

    import java.io.InputStreamReader;

    import java.net.ServerSocket;

    import java.net.Socket;


    /**

     * 基于TCP协议的Socket通信,实现用户登录

     * @author 14431

     *服务器端

     */

    public class Server {

    public static void main(String[] args) {


    try {

    //1.创建一个服务器的Socket,即ServerSocket,

    //指定绑定端口,并监听端口

    ServerSocket serverSocket =new ServerSocket(6666);

    //2.调用accept()方法进行监听,等待客户端连接

    System.out.println("服务器启动中......");

    Socket socket =serverSocket.accept(); //若客户端连接上,则会返回一个实例

    //3.获取输入流,并读取客户端信息

    InputStream is = socket.getInputStream();  //字节输入流

    InputStreamReader isr =new InputStreamReader(is); //转换为字符输入流

    BufferedReader br =new BufferedReader(isr);

    String info =br.readLine();

    while((info=br.readLine())!=null) {

    System.out.println("客户端说:"+info);

    info=br.readLine();

    }

    socket.shutdownInput();//关闭输入流

    //4.关闭资源

    br.close();

    is.close();

    isr.close();

    socket.close();

    serverSocket.close();

    } catch (IOException e) {

    e.printStackTrace();

    }

    }

    }


Java Socket应用---通信是这样练成的

分享的是 Java 中的网络编程,使用Socket实现网络聊天通信

125013 学习 · 590 问题

查看课程

相似问题