tcp-ip - java网络编程入门程序问题?
怪我咯
怪我咯 2017-04-17 11:17:32
0
1
348
import java.io.*;
import java.net.*;

public class ChatServer {
        public static void main(String []args) {
                try {
                        ServerSocket ss = new ServerSocket(6888);
                        Socket so = ss.accept();
                        BufferedReader br = new BufferedReader(new InputStreamReader(so.getInputStream()));
                        BufferedReader brs = new BufferedReader(new InputStreamReader(System.in));
                        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(so.getOutputStream()));
                        String s = br.readLine();
                        System.out.println("Client" + s);
                      String c = null;
                        while(s != "exit") {
                                System.out.println("Client : " + s);    
                                c = brs.readLine();
                                bw.write(c);
                                bw.flush();
                                System.out.println("Server : " + c);
                                s = br.readLine();    
                        }  
                        System.out.println("Chat Over");
                        br.close();
                        brs.close();
                        bw.close();
                }
                catch(Exception e) {}   
        }   
}

我的一个小程序,上面是server

import java.io.*;
import java.net.*;

public class ChatClient {
        public static void main(String []args) {
                try {
                        Socket so = new Socket("127.0.0.1",6888);
                        BufferedReader br = new BufferedReader(new InputStreamReader(so.getInputStream()));
                        BufferedReader brw = new BufferedReader(new InputStreamReader(System.in));
                        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(so.getOutputStream()));
                        String c = brw.readLine();
                        bw.write(c);
                        System.out.println("client" + c);
                        while(c != "exit") {
                                bw.write(c);
                                bw.flush();
                                System.out.println("Client : " + c);
                                System.out.println("Server : " + br.readLine());    
                                c = brw.readLine();
                        }   
                        System.out.println("Chat Over");
                        br.close();
                        brw.close();
                        bw.close();
                }
                catch(Exception e) {}   
        }   
}

这是client,其实就是一个简单的,白痴的对话器,但是我怎么调试也不对,编译通过了,但是运行的时候一直卡在那里,感觉是io出问题了,大师们劳烦看看呗。非常感谢,实在是自己看不出来了。。。。。

怪我咯
怪我咯

走同样的路,发现不同的人生

reply all(1)
伊谢尔伦

You don’t have to use Print, you can also write it like that, but the data you transmit must have a carriage return character ("rn")
The bw.write(c) you originally wrote did not have a newline character, so you changed it to bw.write(c+"rn"), and the server can read it with readLine(). readLine reads line by line, without "rn" ", the data cannot be recognized and the data cannot be read; so the client actually sent the data, but the server did not read it

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template