代码如下:
请问为何客户端收不到信息???ChatClient1import java.io.*;
import java.net.*;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;public class ChatClient1 extends Frame { Socket s=null;
BufferedWriter bw=null;
TextArea taContent = new TextArea();
TextField tfTxt = new TextField(); public static void main(String[] args) {
new ChatClient1().lanuchFrame();
} public void lanuchFrame() {
TFListener ml=new TFListener();
setTitle("ChatClient");
setBounds(400, 300, 300, 300);
add(tfTxt, BorderLayout.SOUTH);
add(taContent,BorderLayout.NORTH);
tfTxt.addActionListener(ml);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
disconnect();
System.exit(0);
}
});
pack();
setVisible(true);
connect();
}
public void connect(){
try {
s=new Socket("127.0.0.1",8888);
bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
System.out.println("connected!");//调试语句
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void disconnect(){
try {
bw.close();
s.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private class TFListener implements ActionListener{ public void actionPerformed(ActionEvent e) {
String str=tfTxt.getText();
taContent.setText(str.trim());
tfTxt.setText("");
try {
bw.write(str);
bw.flush();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}ChatServer1import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;public class ChatServer1 {
public static void main(String[] args) {
boolean started=false;
try {
ServerSocket ss=new ServerSocket(8888);
started=true;
while(started){
boolean bConnectd=false;
Socket s=ss.accept();
bConnectd=true;
System.out.println("a client connected!");//调试语句
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
while(bConnectd){
String str=br.readLine();
if(str!=null){
System.out.println(str);
}
//BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
}
br.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
请问为何客户端收不到信息???ChatClient1import java.io.*;
import java.net.*;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;public class ChatClient1 extends Frame { Socket s=null;
BufferedWriter bw=null;
TextArea taContent = new TextArea();
TextField tfTxt = new TextField(); public static void main(String[] args) {
new ChatClient1().lanuchFrame();
} public void lanuchFrame() {
TFListener ml=new TFListener();
setTitle("ChatClient");
setBounds(400, 300, 300, 300);
add(tfTxt, BorderLayout.SOUTH);
add(taContent,BorderLayout.NORTH);
tfTxt.addActionListener(ml);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
disconnect();
System.exit(0);
}
});
pack();
setVisible(true);
connect();
}
public void connect(){
try {
s=new Socket("127.0.0.1",8888);
bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
System.out.println("connected!");//调试语句
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void disconnect(){
try {
bw.close();
s.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private class TFListener implements ActionListener{ public void actionPerformed(ActionEvent e) {
String str=tfTxt.getText();
taContent.setText(str.trim());
tfTxt.setText("");
try {
bw.write(str);
bw.flush();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}ChatServer1import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;public class ChatServer1 {
public static void main(String[] args) {
boolean started=false;
try {
ServerSocket ss=new ServerSocket(8888);
started=true;
while(started){
boolean bConnectd=false;
Socket s=ss.accept();
bConnectd=true;
System.out.println("a client connected!");//调试语句
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
while(bConnectd){
String str=br.readLine();
if(str!=null){
System.out.println(str);
}
//BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
}
br.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货