服务器端:
package
as;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io. * ;
import java.net.ServerSocket;
import java.net.Socket;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class CharServerText extends JFrame implements ActionListener
{
JLabel jl = new JLabel( " 输入您要说的话 " );
JPanel jp = new JPanel();
JTextField jtf = new JTextField( 15 );
JTextArea jta = new JTextArea( 10 , 10 );
ServerSocket ss;
Socket sk;
BufferedReader br;
PrintWriter pw;
public CharServerText()
{
super ( " Server 端 " );
Container con = getContentPane();
jp.add(jl);
jp.add(jtf);
con.add(jp,BorderLayout.SOUTH);
con.add(jta,BorderLayout.CENTER);
jtf.addActionListener( this );
addWindowListener( new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit( 0 );
}
}
);
setSize( 300 , 250 );
show();
try
{
ss = new ServerSocket( 9010 );
sk = ss.accept();
System.out.println( " 1111 " );
jta.append( " 已连接到客户机 " + sk.getInetAddress().getHostName() + " " );
br = new BufferedReader( new InputStreamReader(sk.getInputStream()));
pw = new PrintWriter(sk.getOutputStream(), true );
while ( true )
{
String ii = br.readLine();
if (ii != null ){
System.out.println( " 1 " );
jta.append( " Client说: " + ii + " " );
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try {
ss.close();
sk.close();
br.close();
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void actionPerformed(ActionEvent arg0)
{
try {
String str = jtf.getText();
jtf.setText( "" );
pw.println(str);
pw.flush();
jta.append( " Server说: " + str + " " );
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args)
{
new CharServerText();
}
}
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io. * ;
import java.net.ServerSocket;
import java.net.Socket;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class CharServerText extends JFrame implements ActionListener
{
JLabel jl = new JLabel( " 输入您要说的话 " );
JPanel jp = new JPanel();
JTextField jtf = new JTextField( 15 );
JTextArea jta = new JTextArea( 10 , 10 );
ServerSocket ss;
Socket sk;
BufferedReader br;
PrintWriter pw;
public CharServerText()
{
super ( " Server 端 " );
Container con = getContentPane();
jp.add(jl);
jp.add(jtf);
con.add(jp,BorderLayout.SOUTH);
con.add(jta,BorderLayout.CENTER);
jtf.addActionListener( this );
addWindowListener( new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit( 0 );
}
}
);
setSize( 300 , 250 );
show();
try
{
ss = new ServerSocket( 9010 );
sk = ss.accept();
System.out.println( " 1111 " );
jta.append( " 已连接到客户机 " + sk.getInetAddress().getHostName() + " " );
br = new BufferedReader( new InputStreamReader(sk.getInputStream()));
pw = new PrintWriter(sk.getOutputStream(), true );
while ( true )
{
String ii = br.readLine();
if (ii != null ){
System.out.println( " 1 " );
jta.append( " Client说: " + ii + " " );
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try {
ss.close();
sk.close();
br.close();
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void actionPerformed(ActionEvent arg0)
{
try {
String str = jtf.getText();
jtf.setText( "" );
pw.println(str);
pw.flush();
jta.append( " Server说: " + str + " " );
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args)
{
new CharServerText();
}
}
客户端:
package
as;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io. * ;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class CharClientText extends JFrame implements ActionListener{
JLabel jl = new JLabel( " 输入您要说的话 " );
JPanel jp = new JPanel();
JTextField jtf = new JTextField( 15 );
JTextArea jta = new JTextArea( 10 , 10 );
Socket sk = null ;
BufferedReader br;
BufferedWriter bof;
PrintWriter pw;
public CharClientText()
{
super ( " Client 端 " );
Container con = getContentPane();
jp.add(jl);
jp.add(jtf);
con.add(jp,BorderLayout.SOUTH);
con.add(jta,BorderLayout.CENTER);
jtf.addActionListener( this );
addWindowListener( new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit( 0 );
}
}
);
setSize( 300 , 250 );
show();
try
{
Socket sk = new Socket( " 127.0.0.1 " , 9010 );
jta.append( " 已连接到服务器 " + sk.getInetAddress().getHostName() + " " );
InputStream in = sk.getInputStream();
br = new BufferedReader( new InputStreamReader(in));
pw = new PrintWriter(sk.getOutputStream(), true );
while ( true )
{
String ii = br.readLine();
if (ii != null ){
System.out.println( " 1 " );
jta.append( " Server说: " + ii + " " );
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try {
sk.close();
br.close();
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void actionPerformed(ActionEvent arg0)
{
try {
String str = jtf.getText();
jtf.setText( "" );
pw.println(str);
pw.flush();
jta.append( " Client说: " + str + " " );
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args)
{
new CharClientText();
}
}
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io. * ;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class CharClientText extends JFrame implements ActionListener{
JLabel jl = new JLabel( " 输入您要说的话 " );
JPanel jp = new JPanel();
JTextField jtf = new JTextField( 15 );
JTextArea jta = new JTextArea( 10 , 10 );
Socket sk = null ;
BufferedReader br;
BufferedWriter bof;
PrintWriter pw;
public CharClientText()
{
super ( " Client 端 " );
Container con = getContentPane();
jp.add(jl);
jp.add(jtf);
con.add(jp,BorderLayout.SOUTH);
con.add(jta,BorderLayout.CENTER);
jtf.addActionListener( this );
addWindowListener( new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit( 0 );
}
}
);
setSize( 300 , 250 );
show();
try
{
Socket sk = new Socket( " 127.0.0.1 " , 9010 );
jta.append( " 已连接到服务器 " + sk.getInetAddress().getHostName() + " " );
InputStream in = sk.getInputStream();
br = new BufferedReader( new InputStreamReader(in));
pw = new PrintWriter(sk.getOutputStream(), true );
while ( true )
{
String ii = br.readLine();
if (ii != null ){
System.out.println( " 1 " );
jta.append( " Server说: " + ii + " " );
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try {
sk.close();
br.close();
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void actionPerformed(ActionEvent arg0)
{
try {
String str = jtf.getText();
jtf.setText( "" );
pw.println(str);
pw.flush();
jta.append( " Client说: " + str + " " );
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args)
{
new CharClientText();
}
}