简单的java聊天室
来源:互联网 发布:阿里的算法工程师年薪 编辑:程序博客网 时间:2024/04/29 03:16
/**
**Server端:
*/
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();
}
}
/**
**Clientr端:
*/
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();
}
}
出自 http://blog.csdn.net/dazhen520/archive/2007/02/06/1503426.aspx
- 简单的java聊天室
- java简单的聊天室
- java的简单聊天室程序
- 一个简单的java聊天室
- java简单的控制台聊天室
- Java编写简单的聊天室
- java写的简单的聊天室
- 【聊天室】android 简单的聊天室
- Java写的简单Socket聊天室
- java基于socket tcp的简单聊天室
- java简单Socket聊天室程序的实现
- Java实现简单的聊天室程序
- Java 聊天室的简单实现原理
- java简单聊天室
- 简单聊天室(java版)
- java实现简单聊天室
- java简单聊天室
- unity3D简单的聊天室
- 应该让大学生教小学
- JSF优势
- 成功离你不远
- java 中的fscanf/scanf String.format 实例
- 【MFC】取得bitmap的大小
- 简单的java聊天室
- 81一条激励人的格言
- 总结开发中的19个问题+若干问题
- SQL2000 数据库日志 清空
- web.config配置文件格式详细解读
- C语言中##和#的用法
- 最受女性欢迎的笑话
- 工作中遇到的问题和解决办法8(could not initialize a collection的问题)
- Oracle数据直接导出到文本文件的方法.