建立个服务器与客户的聊天程序,但无法输入,以下为程序,求解答
package com.socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TestSersocket {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
ServerSocket ss=new ServerSocket(7777);
System.out.println("服务器已启动");
Socket socket=ss.accept();
InputStream is=socket.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String st=null;
while((st=br.readLine())!=null){
System.out.println("client:"+st);
}
OutputStream os=socket.getOutputStream();
PrintStream ps=new PrintStream(os);
new readKeyboard(ps).start();
}
}
class readKeyboard extends Thread{
PrintStream ps;
@Override
public void run() {
BufferedReader br=new BufferedReader(new InputStreamReader(http://System.in));
String st=null;
try {
while((st=br.readLine())!=null){
ps.println(st);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public readKeyboard(PrintStream ps){
this.ps=ps;
}
}
-----------------------------------------------------------------------
package com.socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
public class TestClisocket {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
//InetAddress is=InetAddress.getLocalHost();
//System.out.println(is);
Socket sc=new Socket(InetAddress.getLocalHost(),7777);
System.out.println("服务器已连接");
OutputStream os=sc.getOutputStream();
PrintStream ps=new PrintStream(os);
new Thread(new Runnable(){
@Override
public void run() {
BufferedReader br=new BufferedReader(new InputStreamReader(http://System.in));
String st=null;
try {
while((st=br.readLine())!=null){
ps.print(st);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
InputStream is=sc.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String st=null;
while((st=br.readLine())!=null){
System.out.println("server:"+st);
}
}
}