求助: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
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了吧,通常只需要两个就可以搞定了
还好了。