// *******************************************
// 项目名称:IM即时通讯系统
// 版权所有 (C)2007,东华理工学院3-734室
// 程序开发平台: MyEclipse Enterprise 3.2
// 内容摘要:IM系统服务器设置主界面
// 作 者:过全、楚孔海
// 完成日期:2007.1.25
// 修改记录1: 无
// 修改日期:2007.1.25
// 版 本 号:v1.1
// 修 改 人:过全
// 修改内容:无
//**************************************/
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.sql.*;
public class myIMServerMainFrame extends JFrame implements ActionListener{
String ServerIp=""; //设置服务器IP的值
int Serverport; //设置服务器端口的值
ServerSocket S_socket; //服务器提供的Socket
Socket cSocket; //接收客户端的Socket
Object eventSource; //监听控件事件源对象
JLabel JL1=new JLabel(" 请输入服务器IP:"); //下面是基本控件的初始化
JLabel JL2=new JLabel("请输入服务器Port:");
JTextField ipJTextField=new JTextField();
JTextField portJTextField=new JTextField();
JButton startServerJButton=new JButton(new ImageIcon(".\\syspic\\Start.png"));
JButton purseServerJButton=new JButton(new ImageIcon(".\\syspic\\purse.png"));
JButton stopServerJButton=new JButton(new ImageIcon(".\\syspic\\stop.png"));
JLabel picJL; //显示系统图片
//构造函数
myIMServerMainFrame(){
JFrame serverMainframe=new JFrame("myIM Server系统服务管理器");
Toolkit tool=serverMainframe.getToolkit(); //得到图标
Image myimicon=tool.getImage("syspic/myIMServerIcon.png");
Container contentPanel=serverMainframe.getContentPane();
contentPanel.setBackground(new Color(192,216,240));
contentPanel.setLayout(null);
//IP和端口设置界面 JP_1
GridLayout gridlayout1=new GridLayout(2,2);
gridlayout1.setHgap(3);
gridlayout1.setVgap(3);
JPanel JP_1=new JPanel(gridlayout1);
JP_1.setBackground(new Color(192,216,240));
JP_1.setBounds(5, 5, 280,50);
JP_1.add(JL1);
JP_1.add(ipJTextField);
JP_1.add(JL2);
JP_1.add(portJTextField);
ipJTextField.setText("172.18.31.38"); //初始化IP和端口
portJTextField.setText("8088");
//服务器启动/暂停/停止操作图标界面 JP_2
GridLayout gridlayout2=new GridLayout(3,1);
gridlayout2.setHgap(10);
gridlayout2.setVgap(5);
JPanel JP_2=new JPanel(gridlayout2);
JP_2.setBackground(new Color(192,216,240));
JP_2.setBounds(145, 82, 30,80);
JP_2.add(startServerJButton);
JP_2.add(purseServerJButton);
JP_2.add(stopServerJButton);
purseServerJButton.setEnabled(false);
stopServerJButton.setEnabled(false);
//服务器启动/暂停/停止操作提示界面 JP_3
GridLayout gridlayout3=new GridLayout(3,1);
gridlayout3.setHgap(10);
gridlayout3.setVgap(5);
JPanel JP_3=new JPanel(gridlayout3);
JP_3.setBackground(new Color(192,216,240));
JP_3.setBounds(190, 80, 115,85);
JLabel JL_1=new JLabel("启动服务");
JLabel JL_2=new JLabel("暂停服务");
JLabel JL_3=new JLabel("停止服务");
JP_3.add(JL_1);
JP_3.add(JL_2);
JP_3.add(JL_3);
// 服务器图片
picJL=new JLabel(new ImageIcon(".\\syspic\\syspic_1.png"));
picJL.setBounds(25, 80, 76, 68);
contentPanel.add(JP_1);
contentPanel.add(JP_2);
contentPanel.add(JP_3);
contentPanel.add(picJL);
//添加启动、暂停、停止按钮的监听事件
startServerJButton.addActionListener(this);
purseServerJButton.addActionListener(this);
stopServerJButton.addActionListener(this);
serverMainframe.setIconImage(myimicon);
serverMainframe.setSize(300,210);
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); //得到屏幕的大小
Dimension serverMainframeSize=serverMainframe.getSize();
if(serverMainframeSize.height>screenSize.height){
serverMainframeSize.height=screenSize.height;
}
if(serverMainframeSize.width>screenSize.width){
serverMainframeSize.width=screenSize.width;
}
//设置屏幕居中
serverMainframe.setLocation((screenSize.width-serverMainframeSize.width)/2,(screenSize.height-serverMainframeSize.height)/2);
serverMainframe.setResizable(false);
serverMainframe.setBackground(new Color(212,208,200));
//初始化服务器Socket设置
setServerSocket();
//关闭窗体事件
serverMainframe.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
try {
cSocket.close();
S_socket.close();
} catch (IOException e1) {
e1.printStackTrace();
}
System.exit(0);
}
});
try {
//while(true)
//{
cSocket=S_socket.accept();
//}
} catch (IOException e) {
e.printStackTrace();
}
//调用下面定义的服务器线程类
ServerThread serverThread=new ServerThread(cSocket);
serverThread.start();
serverMainframe.setVisible(true);
}
//myIMServerMainFrame即服务器主窗体的成员方法
public void setServer(String ip,int port){
this.ServerIp=ip;
this.Serverport=port;
}
public void setServerSocket(){
try {
S_socket=new ServerSocket(this.Serverport);
} catch (IOException e) {
e.printStackTrace();
}
}
//监听事件处理
public void actionPerformed(ActionEvent e) {
eventSource=e.getSource();
if(eventSource==startServerJButton){
picJL.setIcon(new ImageIcon(".\\syspic\\syspic.png"));
startServerJButton.setEnabled(false);
purseServerJButton.setEnabled(true);
stopServerJButton.setEnabled(true);
}
if(eventSource==purseServerJButton){
int n=JOptionPane.showConfirmDialog(this, "您确定暂停IM服务吗?", "IM系统服务设置",JOptionPane.YES_NO_OPTION);
if(n==JOptionPane.YES_OPTION){
picJL.setIcon(new ImageIcon(".\\syspic\\syspic_1.png"));
startServerJButton.setEnabled(true);
purseServerJButton.setEnabled(false);
stopServerJButton.setEnabled(true);
}
else if(n==JOptionPane.NO_OPTION){
}
}
if(eventSource==stopServerJButton){
int n=JOptionPane.showConfirmDialog(this, "您确定停止IM服务吗?", "IM系统服务设置",JOptionPane.YES_NO_OPTION);
if(n==JOptionPane.YES_OPTION){
picJL.setIcon(new ImageIcon(".\\syspic\\syspic_1.png"));
startServerJButton.setEnabled(true);
purseServerJButton.setEnabled(false);
stopServerJButton.setEnabled(false);
}else if(n==JOptionPane.NO_OPTION){
}
}
}
//程序启动main()方法
public static void main(String[] args) {
myIMServerMainFrame serverFrame=new myIMServerMainFrame();
//得到IP和端口号
String ServerIP=serverFrame.ipJTextField.getText();
int ServerPort=Integer.parseInt(serverFrame.portJTextField.getText());
serverFrame.setServer(ServerIP,ServerPort);
}
}
class ServerThread extends Thread{
Socket socket;
BufferedReader in; //定义输入流
PrintWriter out; //定义输出流
ServerThread(Socket socket){
this.socket=socket;
try {
in=new BufferedReader(new InputStreamReader(socket.getInputStream()));//创建输入流
out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);//创建输出流
} catch (IOException e) {
e.printStackTrace();
}
}
public void run(){
String inacceptmsg=null;
try {
inacceptmsg=in.readLine();
System.out.println(inacceptmsg);
} catch (IOException e) {
e.printStackTrace();
}
// System.out.println(inacceptmsg);
}
}
/* //创建数据库连接
class conDataBase{
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
conDataBase(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} ca
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基于web的IM即时通讯系统 (207个子文件)
myThread.class 13KB
ChatFrame.class 9KB
myIMFrame.class 9KB
RegisterFrame.class 9KB
findFriendFrame.class 7KB
myIMServerMainFrame.class 7KB
LoginFrame.class 7KB
ExactFindFriendFrame.class 6KB
ConnctionServer.class 3KB
PwdChenage.class 3KB
connDataBase.class 2KB
SocketLinkTable.class 2KB
InceptThread.class 1KB
systemTime.class 1KB
ManageMessage.class 1KB
myIMServerMainFrame$1.class 967B
TransferMsg.class 863B
ExactFindFriendFrame$1.class 788B
findFriendFrame$1.class 732B
ChatFrame$1.class 624B
RegisterFrame$1.class 610B
LoginFrame$1.class 595B
PwdChenage$1.class 595B
myIMFrame$1.class 590B
SocketNode.class 513B
.classpath 226B
.classpath 226B
Thumbs.db 355KB
Thumbs.db 11KB
Thumbs.db 9KB
Thumbs.db 9KB
技术文档.doc 736KB
用户界面设计报告v1.0 .doc 330KB
《IM即时通讯系统》数据库设计报告V1.0.doc 145KB
IM使用说明.doc 83KB
myThread.java 25KB
myIMFrame.java 11KB
RegisterFrame.java 11KB
findFriendFrame.java 9KB
ChatFrame.java 9KB
myIMServerMainFrame.java 8KB
ExactFindFriendFrame.java 7KB
LoginFrame.java 6KB
ConnctionServer.java 4KB
PwdChenage.java 2KB
SocketLinkTable.java 2KB
InceptThread.java 1KB
connDataBase.java 1KB
ManageMessage.java 764B
systemTime.java 761B
TransferMsg.java 468B
SocketNode.java 274B
04.jpg 179KB
04.jpg 179KB
04.jpg 179KB
04.jpg 179KB
01.JPG 22KB
01.JPG 22KB
01.JPG 22KB
01.JPG 22KB
001.jpg 4KB
005.jpg 4KB
009.jpg 4KB
010.jpg 4KB
004.jpg 4KB
014.jpg 3KB
001.jpg 3KB
002.jpg 3KB
008.jpg 3KB
010.jpg 3KB
003.jpg 3KB
002.jpg 3KB
006.jpg 3KB
012.jpg 3KB
004.jpg 3KB
013.jpg 3KB
005.jpg 3KB
005.jpg 3KB
008.jpg 3KB
006.jpg 3KB
011.jpg 3KB
001.jpg 3KB
011.jpg 3KB
009.jpg 3KB
003.jpg 3KB
008.jpg 3KB
001.jpg 3KB
002.jpg 3KB
009.jpg 3KB
004.jpg 3KB
014.jpg 3KB
010.jpg 3KB
005.jpg 3KB
010.jpg 3KB
003.jpg 3KB
012.jpg 3KB
008.jpg 3KB
004.jpg 3KB
006.jpg 3KB
002.jpg 3KB
共 207 条
- 1
- 2
- 3
资源评论
- 妮妮205462015-07-212007年写的。貌似与现在的技术有隔阂把
- shifengxia2013-04-19虽然上面说是WEB的,但是我看好像是C/S模式的。
- jingye8002013-09-13不是WEB的失望
- 沙哑2013-03-192007年写的。貌似与现在的技术有隔阂把
- ayu266897142013-04-09不是WEB版的
helin916012530
- 粉丝: 38
- 资源: 21
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功