【SQL开源代码栏目提醒】:网学会员为需要SQL开源代码的朋友们搜集整理了Java_QQ_源程序代码 - 编程语言相关资料,希望对各位网友有所帮助!
2010-06-23 20:24:11 TiBack import java.net. import java.io. import java.sql. import java.util. public class QQServer public static void mainString args try //用户名同步14 HashMap hm new HashMap // 服务器在8000端口监听1 ServerSocket ss new ServerSocket8000 while true System.out.println服务器正在8000端口监听..... Socket s ss.accept MyService t new MyService t.setSockets t.setHashMaphm t.start catch Exception e // 支持多用户登陆13 class MyService extends Thread private Socket s private HashMap hm public void setHashMapHashMap hm this.hm hm public void setSocketSocket s this.s s public void run try // 接收客户端发送来的用户名和密码2 InputStream is s.getInputStream InputStreamReader isr new InputStreamReaderis BufferedReader br new BufferedReaderisr String uandp br.readLine // 拆分4 String u uandp.split0 String p uandp.split1 // 到数据库中验证5 Class.forNamecom.microsoft.sqlserver.jdbc.SQLServerDriver Connection cn DriverManager.getConnection jdbc:sqlserver://127.0.0.1:1433databasenamewy sa 123 PreparedStatement ps cn .prepareStatementselect from username where username and password ps.setString1 u ps.setString2 p ResultSet rs ps.executeQuery // 发送确认信息回客户端7 OutputStream os s.getOutputStream OutputStreamWriter osw new OutputStreamWriteros PrintWriter pw new PrintWriterosw true if rs.next pw.printlnok Thread.sleep10 //将自己的名字发送给其他人17 forSocket ts : hm.values OutputStream tos ts.getOutputStream OutputStreamWriter tosw new OutputStreamWritertos PrintWriter tpw new PrintWritertosw true tpw.printlnuseru //将其他人的名字发送给自己18 forString tu : hm.keySet pw.printlnusertu //将用户名和Socket存入HashMap15 hm.putu s // 接收客户端发送来的信息11 while true String message br.readLine //判断是否退出 ifmessage.equalsexit forSocket ts : hm.values OutputStream tos ts.getOutputStream OutputStreamWriter tosw new OutputStreamWritertos PrintWriter tpw new PrintWritertosw true tpw.printlnexitu hm.removeu return String to message.split0 String mess message.split1 Socket ts hm.getto OutputStream tos ts.getOutputStream OutputStreamWriter tosw new OutputStreamWritertos PrintWriter tpw new PrintWritertosw true tpw.printlnmessmess else pw.printlnerr catch Exception e 2010-06-23 20:24:37 TiBack import java.awt. import java.awt.event.ActionEvent import java.awt.event.ActionListener import java.net. import java.io. import javax.swing. public class QQLogin extends JFrame implements ActionListener JTextField txtUser new JTextField JPasswordField txtPass new JPasswordField public QQLogin // 设置窗体属性 this.setSize250 125 this.setTitleQQ登陆 this.setResizablefalse // new一大堆组件 JLabel labUser new JLabel用户名 JLabel labPass new JLabel密码 JButton btnLogin new JButton登陆 JButton btnReg new JButton注册 JButton btnCancel new JButton取消 // 注册事件 btnLogin.addActionListenerthis btnReg.addActionListenerthis btnCancel.addActionListenerthis // 布置输入面板 JPanel panInput new JPanel panInput.setLayoutnew GridLayout2 2 panInput.addlabUser panInput.addtxtUser panInput.addlabPass panInput.addtxtPass // 布置按钮面板 JPanel panButton new JPanel panButton.setLayoutnew FlowLayout panButton.addbtnLogin panButton.addbtnReg panButton.addbtnCancel // 布置窗体 this.setLayoutnew BorderLayout this.addpanInput BorderLayout.CENTER this.addpanButton BorderLayout.SOUTH public static void mainString args JFrame.setDefaultLookAndFeelDecoratedtrue QQLogin w new QQLogin w.setVisibletrue Override public void actionPerformedActionEvent e if e.getActionCommand.equals登陆 String u txtUser.getText String p txtPass.getText try //将用户名和密码发送到服务器3 Socket s new Socket127.0.0.18000 OutputStream os s.getOutputStream OutputStreamWriter osw new OutputStreamWriteros PrintWriter pw new PrintWriterosw true pw.printlnup //接收服务器发送回来的确认信息6 InputStream is s.getInputStream InputStreamReader isr new InputStreamReaderis BufferedReader br new BufferedReaderisr String yorn br.readLine //显示主窗体8 ifyorn.equalsok QQMain w new QQMainu w.setSockets w.setVisibletrue this.setVisiblefalse else JOptionPane.showMessageDialogthis 滚 catchException ee if e.getActionCommand.equals注册 if e.getActionCommand.equals取消 System.exit0上一篇:JAVA商品销售管理系统(ER图+源代码)