package business;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
import java.util.StringTokenizer;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import util.Constant;
public class Client extends JFrame implements ActionListener{
/**
*
*/
private static final long serialVersionUID = 1L;
static String driver = "com.mysql.jdbc.Driver";
static String url = "jdbc:mysql://localhost:3306/jdbc";
static String username = "root";
static String password = "1";
private static Statement stmt = null;
JPanel jpane = new JPanel();
static JTextArea jtextarea = new JTextArea();
JTextField jtextfield = new JTextField();
JTextField jtextfield1 = new JTextField();
JButton bu2 = new JButton("消息记录");
JLabel jlable = new JLabel("姓 名:");
JButton bu1 = new JButton("发送");
JFrame j = new JFrame();
private Socket socket;
JFrame frame = new JFrame();
private ObjectInputStream in;
private ObjectOutputStream out;
Thread th;
Reciver reciver = new Reciver();
public void client(){
jtextarea.setBounds(0, 0, 300, 300);
jtextfield.setBounds(0, 330, 300, 20);
jtextfield1.setBounds(310, 50, 60, 20);
jlable.setBounds(310, 30, 60, 20);
bu1.setBounds(330, 330, 60, 20);
bu2.setBounds(301, 100, 100, 20);
j.setBounds(400, 300, 400, 400);
j.add(jpane);
jpane.setLayout(null);
jpane.add(bu2);
jpane.add(jtextarea);
jpane.add(jtextfield);
jpane.add(bu1);
jpane.add(jtextfield1);
jpane.add(jlable);
j.setVisible(true);
bu1.addActionListener(this);
bu2.addActionListener(this);
jtextarea.append("连接中........"+"\n");
try {
socket = new Socket(Constant.SERVER_HOST,Constant.LISTEN_PORT);
jtextarea.append("连接至:"+socket.getInetAddress().getHostName()+"\n");
jtextarea.append("-----------------------------------------------------------------------"+"\n");
out = new ObjectOutputStream(socket.getOutputStream());
in = new ObjectInputStream(socket.getInputStream());
th = new Thread(reciver);
th.start();
}catch (Exception e) {
e.printStackTrace();
}
}
private class Reciver implements Runnable {
//StringTokenizer sinfo;
public void run(){
if(jtextfield1.getText().equals(""))
{
try{
String str = in.readUTF();
StringTokenizer st = new StringTokenizer(str,":");
String head = st.nextToken();
String name = st.nextToken();
jtextfield1.setText(name);
j.setTitle(name);
}catch(Exception e)
{
e.printStackTrace();
}
}
try {
Class.forName(driver);
System.out.println("加载成功");
Connection con;
try {
con = DriverManager.getConnection(url, username, password);
System.out.println("加载成功");
stmt = con.createStatement();
System.out.println("加载成功");
} catch (Exception e) {
e.printStackTrace();
}
//String xiaoxijilu = jtextarea.getText();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
while(true)
{
try {
String str;
try {
str = in.readUTF();
jtextarea.append(str+"\n");
String ins = "insert into xiaoxijilu values('"+str+"')";
stmt.executeUpdate(ins);
System.out.println("xiaoxijilu");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("发送"))
{
try {
out.writeUTF(jtextfield1.getText()+"说:"+jtextfield.getText());
out.flush();
} catch (IOException e1) {
e1.printStackTrace();
}
jtextfield.setText("");
}
if(e.getActionCommand().equals("消息记录"))
{
new chakanxiaoxi();
}
}
public static void main(String[] args) {
new Client().client();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
用java编写的局域网通信源代码
共17个文件
class:8个
java:6个
classpath:1个
4星 · 超过85%的资源 需积分: 10 16 下载量 88 浏览量
2011-11-29
09:58:26
上传
评论
收藏 23KB RAR 举报
温馨提示
自己编写的一款基于java的局域网通信软件,能实现群聊,代码简洁,适合初学者。
资源推荐
资源详情
资源评论
收起资源包目录
liaotianshi.rar (17个子文件)
JYW
.project 379B
src
business
Server.java 3KB
tianjia.java 3KB
chakanxiaoxi.java 2KB
Client.java 4KB
denglu.java 4KB
util
Constant.java 240B
.settings
org.eclipse.jdt.core.prefs 629B
.classpath 436B
bin
business
Client$Reciver.class 3KB
denglu.class 5KB
Server.class 2KB
Client.class 5KB
chakanxiaoxi.class 3KB
Server$Client.class 3KB
tianjia.class 4KB
util
Constant.class 421B
共 17 条
- 1
资源评论
- u0100779292013-09-29代码很简单,界面做的也不是太理想,比较适合初学者!
- muscle19902013-06-30虽然有很多bug,但是还是算可以的。哈哈
- leijianyiliyi2012-12-29代码是分开来写的, 对于初学者来说是一个很好的教材。
aaa_aaa_aaa_
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功