主题:chat程序问题
ddf168913
[专家分:0] 发布于 2007-11-08 15:22:00
怎么我写的只有client端关闭后,服务器端才可以打印
郁闷,请赐教,谢谢!
回复列表 (共3个回复)
沙发
huoshan [专家分:150] 发布于 2007-11-08 15:25:00
贴出源代码
板凳
ddf168913 [专家分:0] 发布于 2007-11-09 13:14:00
import java.awt.*;
import java.awt.event.*;
import java.io.IOException;
import java.net.*;
import java.io.*;
public class ChatClient extends Frame {
TextArea ta = new TextArea();
BufferedWriter bw;
TextField tf = new TextField();
Socket s;
public void launchFrame() {
setBounds(30, 40, 300, 400);
add(ta, BorderLayout.NORTH);
add(tf, BorderLayout.SOUTH);
pack();
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
disConnect();
System.exit(0);
}
});
ta.setEditable(false);
tf.addActionListener(new TfListener());
setVisible(true);
connect();
}
private class TfListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
String st = tf.getText().trim();
ta.append("client:" + st + "\n");
tf.setText("");
try {
bw.write(st);
bw.flush();
//connect();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
public void connect(){
try {
s = new Socket("localhost",9999);
bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
System.out.println("Conncet");
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void disConnect(){
try {
bw.close();
s.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
new ChatClient().launchFrame();
}
}
import java.io.IOException;
import java.net.*;
import java.io.*;
public class ChatServer {
public static void main(String[] args) {
try {
ServerSocket ss = new ServerSocket(9999);
while(true){
Socket s = ss.accept();
System.out.println("A client has connected");
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String s1 = br.readLine();
System.out.println(s1);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
3 楼
超然耗儿 [专家分:60] 发布于 2007-11-09 17:49:00
报的是什么错误?把错误代码贴出来啊!
我来回复