黑马程序员技术交流社区

标题: 想不出来为啥报错 [打印本页]

作者: 一小丢丢    时间: 2016-10-21 15:30
标题: 想不出来为啥报错
为啥运行第二段代码总报错啊.求指点.好难过
public class Demo_02Client {
        public static void main(String[] args) throws IOException {
                Socket socket = new Socket(InetAddress.getLocalHost(), 8888);
                OutputStream outputStream = socket.getOutputStream();
                outputStream.write("你好!!!".getBytes());
                outputStream.close();
                socket.close();
                System.out.println("传输完毕");
        }
}
public class Demo_03Server2 {
        public static void main(String[] args) throws IOException {
                System.out.println("服务端启动......");
                ServerSocket ss = new  ServerSocket(8888);
                while (true) {
                        Socket accept = ss.accept();
                        InputStream inputStream = accept.getInputStream();
                        byte[] b = new byte[100];
                        int len= inputStream.read(b);
                        String string = new String(b, 0, len);
                        System.out.println(string);
                        inputStream.close();
                        accept.close();
                        ss.close();
                }
        }
}

作者: 438944209    时间: 2016-10-21 15:37
你的socket只是建立了,没发送吧,小白路过
作者: 一小丢丢    时间: 2016-10-21 15:48
438944209 发表于 2016-10-21 15:37
你的socket只是建立了,没发送吧,小白路过

我先运行的Server2代码,然后就报错了.
作者: 一小丢丢    时间: 2016-10-21 15:51
438944209 发表于 2016-10-21 15:37
你的socket只是建立了,没发送吧,小白路过

不是两个都需要发送吗,我都运行了,还是报异常
作者: 相约在北广上    时间: 2016-10-21 18:18
你导包 导的哪个包?贴上来看看
作者: 相约在北广上    时间: 2016-10-21 18:19
客户端的
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
服务端的
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
作者: 相约在北广上    时间: 2016-10-21 18:21
先运行service 。在运行client
作者: IceLoveInFire丶    时间: 2016-10-21 19:36
你报什么异常
作者: hfalan2016    时间: 2016-10-21 20:54
关闭资源应在循环外吧
作者: 2756898282    时间: 2016-10-21 21:01
这样写代码,规范美观,有错误,看错误原因,一步一步debug

下面这是良好的代码

public class Client {
        public static void main(String[] args) {
                String s=null;
                Socket mysocket;
                DataInputStream in=null;
                DataOutputStream out=null;
                try {
                        mysocket=new Socket("127.0.0.1",4331);
                        in=new DataInputStream(mysocket.getInputStream());
                        out=new DataOutputStream(mysocket.getOutputStream());
                        for(int k=1;k<100;k=k+2){
                                out.writeUTF(""+k);
                                s=in.readUTF();
                                System.out.println("客户收到"+s);
                                Thread.sleep(500);
                        }
                } catch (Exception e) {
                        System.out.println("服务器已断开"+e);
                }
        }
}

public class Server {
        public static void main(String[] args) {
                ServerSocket server=null;
                Socket you=null;
                String s=null;
                DataOutputStream out=null;
                DataInputStream in=null;
                try {
                        server=new ServerSocket(4331);
                } catch (Exception e) {
                        System.out.println(e);
                }
                try {
                        System.out.println("等待客户呼叫");
                        you=server.accept();
                        out=new DataOutputStream(you.getOutputStream());
                        in=new DataInputStream(you.getInputStream());
                        while(true){
                                s=in.readUTF();
                                int m=Integer.parseInt(s);
                                out.writeUTF("你好,我是服务器");
                                out.writeUTF("你说的数乘2后是:"+2*m);
                                System.out.println("服务器收到:"+s);
                                Thread.sleep(500);
                        }
                } catch (Exception e) {
                        System.out.println("客户端已断开"+e);
                }
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2