客户端:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
public class ChatWindow extends Frame{
TextField tf=new TextField();
TextArea ta=new TextArea();
DataOutputStream dos=null;
Socket s=null; public static void main(String[] args) {
new ChatWindow().launchFrame();
}
public void launchFrame(){
setLocation(100,100);
setSize(300,300);
add(tf,BorderLayout.SOUTH);
add(ta,BorderLayout.NORTH);
pack();
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
System.exit(0);
unconnect();
}
});
tf.addActionListener(new Monitor());
connect();
setVisible(true);
}
public void connect(){
try {
s=new Socket("127.0.0.1",8888);
dos=new DataOutputStream(s.getOutputStream());
System.out.println("connected!");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void unconnect(){
try {
dos.close();
s.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public class Monitor implements ActionListener{
public void actionPerformed(ActionEvent k) {
String m=tf.getText();
ta.setText(m);
tf.setText("");
try{
dos.writeUTF(m);
dos.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
服务器:
import java.io.*;
import java.net.*;public class ServerWin { public static void main(String[] args) {
try {
ServerSocket ss=new ServerSocket(8888);
Socket s=ss.accept();
System.out.println("A has client!");
DataInputStream dis=new DataInputStream(s.getInputStream());
String str= dis.readUTF();
System.out.println(str);
dis.close();
} catch (IOException e) {
e.printStackTrace();
} }}
为什么运行时,客户端发出的信息不能在服务器端显示呢
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
public class ChatWindow extends Frame{
TextField tf=new TextField();
TextArea ta=new TextArea();
DataOutputStream dos=null;
Socket s=null; public static void main(String[] args) {
new ChatWindow().launchFrame();
}
public void launchFrame(){
setLocation(100,100);
setSize(300,300);
add(tf,BorderLayout.SOUTH);
add(ta,BorderLayout.NORTH);
pack();
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
System.exit(0);
unconnect();
}
});
tf.addActionListener(new Monitor());
connect();
setVisible(true);
}
public void connect(){
try {
s=new Socket("127.0.0.1",8888);
dos=new DataOutputStream(s.getOutputStream());
System.out.println("connected!");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void unconnect(){
try {
dos.close();
s.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public class Monitor implements ActionListener{
public void actionPerformed(ActionEvent k) {
String m=tf.getText();
ta.setText(m);
tf.setText("");
try{
dos.writeUTF(m);
dos.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
服务器:
import java.io.*;
import java.net.*;public class ServerWin { public static void main(String[] args) {
try {
ServerSocket ss=new ServerSocket(8888);
Socket s=ss.accept();
System.out.println("A has client!");
DataInputStream dis=new DataInputStream(s.getInputStream());
String str= dis.readUTF();
System.out.println(str);
dis.close();
} catch (IOException e) {
e.printStackTrace();
} }}
为什么运行时,客户端发出的信息不能在服务器端显示呢
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货