freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設計-基于tcpip協(xié)議的網(wǎng)絡聊天程序服務端設計-資料下載頁

2024-12-03 19:15本頁面
  

【正文】 import 。 public class ChatServerFrame extends JFrame implements ActionListener{ // 按鈕面板 private JPanel btnPan = new JPanel(new FlowLayout())。 private JLabel listenPortLb = new JLabel( 服務監(jiān)聽端口 : )。 private JTextField portTf = new JTextField(6666, 5)。 private JButton controlBtn = new JButton(開始 )。 private JButton clearHintBtn = new JButton(清屏 )。 // 提示信息面板 private JTextArea hintTa = new JTextArea()。 //用戶列表面板 private DefaultListModel listModel=new DefaultListModel()。 private JList userList=new JList(listModel)。 private ChatServerNet 。 public ChatServerFrame() { initComponent()。 = new ChatServerNet(this)。 } private void initComponent() { buildBtnPan()。 buildHintPan()。 buildUserListPan()。 setSize(400, 300)。 Toolkit tool = ()。 setLocation((().width ().width) / 2, (().height ().height) / 2)。 setTitle(超越 網(wǎng)絡聊天室服務端 )。//面板標題 setDefaultCloseOperation(EXIT_ON_CLOSE)。//關閑監(jiān)聽 setResizable(false)。//不可改變面板大小 setVisible(true)。//可視面板 } //構建面板 public void buildBtnPan() { (listenPortLb)。//添加按鈕 (portTf)。 (controlBtn)。 (clearHintBtn)。 ()。 add(btnPan, )。//放于北部 ()。 ()。 (this)。//監(jiān)聽 (this)。 } //構建列表 public void buildHintPan() { (false)。 JScrollPane scrollPane = new JScrollPane()。//加入滾動條 ((聊天列表 ))。 ().add(hintTa)。 add(scrollPane, )。//置于中間 (請按開始按鈕開始聊天服務 )。 ()。//內(nèi)容框背景顏色 設置為黃色 } //構建用戶列表 public void buildUserListPan() { (60)。 JScrollPane userListPan=new JScrollPane(userList)。 ((用戶列表 ))。 add(userListPan,)。 ()。 } //設置按鈕監(jiān)聽動作 public void actionPerformed(ActionEvent arg0) { Object source = ()。 if (source == clearHintBtn) { ()。 return。 } String msg = ()。 if ((開始 )) { (停止 )。 (false)。 (())。 } else { (開始 )。 (true)。 ()。 } } public void addHint(String s) { (() + \r\n + s)。 } //用戶退出函數(shù) public void removeUser(String name) { (name)。 } public void addUser(String name) { (name)。 } public void refreshUserList(VectorString userNames) { ()。 for(String userName:userNames) { (userName)。 } } } TCP/IP 通信 ,處理用戶發(fā)送過來的服務請求 package 。//導入包 //導入文件 import 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。//導入服務端界面文件 //創(chuàng)建類 public class ChatServerNet { private ServerSocket serverSocket = null。//初始套接字 private Vector users = new Vector()。//創(chuàng)建用戶矢量 private VectorString userNames = new VectorString()。 private ChatServerFrame frame。 //設置構造函數(shù) public ChatServerNet(ChatServerFrame frame) { =frame。 } //設置方法 public void start(String port){ try { serverSocket=new ServerSocket((port))。 (new Date().toLocaleString()+ : 服務開始端口 +port+.)。 //多線程 new Thread(){ @Override public void run() { try{ while(true) { new HandlerThread(()).start()。 } }catch (Exception e) {//防止異常 (frame, ())。 } } }.start()。//啟動服務器 } catch (Exception e) { (frame, ())。 } } //結束服務 public void stop() { try { if (serverSocket != null) ()。 } catch (Exception e) { } finally { (new Date().toLocaleString()+ : 服務結束 .)。 } } //創(chuàng)建 HandlerThread 類 class HandlerThread extends Thread {繼承類 private Socket socket。 private ObjectInputStream in = null。//輸入流 private ObjectOutputStream out = null。//輸出流 //構造函數(shù) public HandlerThread(Socket socket) { = socket。 } //多線程 public void run() { String name = null。 try { in = new ObjectInputStream(())。 out = new ObjectOutputStream(())。 (歡迎來到超越 網(wǎng)絡聊天室 ,請輸入你的姓名 :)。//提示信息 ()。 name = (String) ()。//獲取用戶名 refreshUserList(add, name)。//涮新用戶列表 String oldMsg = 。//上次用戶發(fā)送信息 String msg = null。//本次用戶發(fā)送的信息
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1