- public class Test10 {
- /**配合第九题的服务端
- * @author :贾浩田
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- try {
- ServerSocket ss = new ServerSocket(6007);
- Socket s = ss.accept();
- //启动服务端线程
- new Thread(new Server(s)).start();
-
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- //把服务端要处理的内容放在线程中
- class Server implements Runnable{
- private Socket s;
- public Server(Socket s){
- this.s = s;
- }
- @Override
- public void run() {
- // TODO Auto-generated method stub
- //定义一个字节输出流
- FileOutputStream file = null;
- File f = new File("coby.jpg");
- try {
- f.createNewFile();
- file = new FileOutputStream(f);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- String ip = s.getInetAddress().getHostAddress();
- String host_name = s.getInetAddress().getHostName();
- //打印客户端信息
- System.out.println("ip:"+ip+ " \t hostName:"+ host_name);
- //读取客户端的字节流
- try {
- InputStream in = s.getInputStream();
- byte[] buf = new byte[1024];
- int num = 0;
- while((num = in.read(buf)) != -1){
- file.write(buf, 0, num);
- file.flush();
- }
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- //给客户端发送反馈
- try {
- OutputStream out = s.getOutputStream();
- out.write("图片上传成功!!".getBytes());
- //out.flush();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- try {
- file.close(); //关闭文件流
- s.close(); //关闭客户端
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
复制代码
总是报错:以下是打印信息,希望大家帮我分析一下
ip:192.168.1.101 hostName:lenovo-PC
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at com.itheima.Server.run(Test10.java:59)
at java.lang.Thread.run(Unknown Source)
java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at com.itheima.Server.run(Test10.java:70)
at java.lang.Thread.run(Unknown Source)
|