java小聊天程序
2007-02-06 14:59
260 查看
服务器端:
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();
}
}
客户端:
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();
}
}
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();
}
}
客户端:
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();
}
}
相关文章推荐
- java版两人聊天程序
- 利用Java编写聊天程序
- 详解基于java的Socket聊天程序——客户端(附demo)
- java学习之利用UDP编写网络聊天程序
- java 聊天程序
- Java实现多个客户端聊天程序
- Java网络聊天程序
- JAVA小程序-------在线聊天系统
- JAVA写一网络聊天程序
- JAVA实现UDP组播聊天程序
- java网络编程学习java聊天程序代码分享
- 一个java局域网聊天的程序
- java实现的聊天程序
- Java: 写个简单的Client,Server聊天程序
- java-用java.net.Socket和java.net.ServerSocket实现简单的聊天程序
- JAVA系列课程讲座二:使用Socket通信实现简单聊天通信程序(UDP方式)
- Java使用TCP聊天程序
- Java聊天小程序
- java中UDP简单聊天程序实例代码
- [Java] Socket/ServerSocket 控制台简单聊天程序