求助:java简单的网络编程改错

来源:百度知道 编辑:UC知道 时间:2024/09/23 12:04:42
客户端程序:
import java.net.*;
import java.util.Scanner;
import java.io.*;

public class HuChat {
public static void main(String[] args) throws Exception {
String x,y;
while(true) {
Scanner type = new Scanner(System.in);
Socket hu = new Socket("127.0.0.1",5432);
PrintStream out = new PrintStream(hu.getOutputStream());
BufferedReader in = new BufferedReader(new InputStreamReader(hu.getInputStream()));
while(true) {
while((x=in.readLine())!=null) {
System.out.println("Wang: "+x);

}

while((y=type.next())!=null) {
System.out.println("Hu: "+ y);
out.println(y);
}

}
//out.close();
//s.close();
}
}

}

服务器程序:
import java.net.*;
import java.util.Scanner;
import java.io.*;

public class WangChat

while太多,可以用多线程来实现。

我有做过类似的。 有需要可以联系
QQ:957868463

一个简单的小错误
只是个流对应问题
把你服务端的接收和输出流位置换下
正确的应该是
客户端 out ----- 服务端 in
库户端 in ----- 服务端 out
你的是
客户端 out ----- 服务端 out
库户端 in ----- 服务端 in
把客户端或服务端的两行代码换下位置问题就不大了

你也用了太多的while了吧,通常只需要两个就可以搞定了

还好了。