为什么我的java报异常_同样的代码为什么我的报异常了

import java.io.*;

import java.net.*;

import java.net.Socket;

import org.omg.CORBA.portable.InputStream;

/**基于TCP协议的服务器端

*

*/

public class Server {

public static void main(String[] args) {

// TODO 自动生成的方法存根

try {

ServerSocket server=new ServerSocket(7001);

//调用accept()方法侦听,等待客户端的链接

System.out.println("服务器已启动,等待客户端的连接");

Socket socket;

int count=0;

while(true) {

socket=server.accept();

ServerThread serverthread=new ServerThread(socket);

serverthread.start();

count++;

System.out.println("客户端的数量:"+count);

}

} catch (IOException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}

import java.io.*;

import java.net.*;

//客户端

public class Clien {

public static void main(String[] args) {

// TODO 自动生成的方法存根

try {

Socket socket=new Socket(InetAddress.getLocalHost()

,7001);

//获取输出流,用于想服务器端发送信息

OutputStream os=socket.getOutputStream();

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

pw.write("用户名:admin; 密码:123");

pw.flush();

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

//获取输入流,读取服务端响应

InputStream is=socket.getInputStream();

BufferedReader br=new BufferedReader(new InputStreamReader(is));

String info=null;

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

System.out.println("我是客户端,服务器说:"+info);

}

br.close();

is.close();

pw.close();

os.close();

socket.close();

} catch (UnknownHostException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

} catch (IOException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}

import java.io.*;

import java.net.*;

public class ServerThread extends Thread {

Socket socket;

public ServerThread(Socket soket) {

this.socket=socket;

}

public void run() {

BufferedReader br=null;

OutputStream os=null;

PrintWriter pw = null;

InputStreamReader isr=null;

InputStream is=null;

try {

//获取输入流

//is=socket.getInputStream();

isr=new InputStreamReader(socket.getInputStream());

br=new BufferedReader(isr);

String info=null;

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

System.out.println("我是服务器,客户端说:"+info);

}

socket.shutdownInput();

//获取输出流。响应客户端

os=socket.getOutputStream();

pw=new PrintWriter(os);

pw.write("欢迎您");

pw.flush();

} catch (IOException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}finally {

//必须要执行的代码

//关闭资源

try {

if(pw!=null)

pw.close();

if(os!=null)

os.close();

if(br!=null)

br.close();

if(isr!=null)

isr.close();

//if(is!=null)

//  is.close();

if(socket!=null)

socket.close();

} catch (IOException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值