return;} StringTokenizer stinfo = new StringTokenizer(line,\分解字符串 String keyword = stinfo.nextToken(); if (keyword.equals(\ chatClient.tfChat.append(line+\ else if (keyword.equals(\ chatClient.list1.clear(); chatClient.list1.add(\ int i = 1; while (stinfo.hasMoreTokens()) { chatClient.list1.add(stinfo.nextToken(), i++);}}} }} public void actionPerformed(ActionEvent e) { try{if(e.getSource()==btConnect) { //点击连接按钮 if (socket == null) { socket = new Socket(InetAddress.getLocalHost(),5566); ps = new PrintStream(socket.getOutputStream());//获取输出流,写入信息 StringBuffer info = new StringBuffer(\ String userinfo = tfName.getText()+\ ps.println(info.append(userinfo));//输出信息 ps.flush(); listen = new Listen(this,tfName.getText(),socket); listen.start();} } else if (e.getSource() == btDisconnect) { //点击断开连接按钮 disconnect(); } else if (e.getSource() == btSend) { //点击发送按钮 if (socket != null) { StringBuffer msg = new StringBuffer(\ String msgtxt = new String(tfMessage.getText()); ps.println(msg.append(msgtxt));//发送信息 ps.flush(); } else { JOptionPane.showMessageDialog(this, \请先连接!\\提示\1);}}} catch (Exception ex) { ex.printStackTrace();//输出错误信息 }} public void disconnect() { //断开连接方法 if (socket != null) { ps.println(\发送信息 ps.flush(); socket = null; tfName.setText(\ public ChatClient(Socket socket) { this.setLayout(new BorderLayout()); JPanel panel1 = new JPanel(); Label label = new Label(\姓名\
6
panel1.setBackground(Color.orange); panel1.add(label); panel1.add(tfName); panel1.add(btConnect); panel1.add(btDisconnect); this.add(panel1,BorderLayout.NORTH); JPanel panel2 = new JPanel(); panel2.add(tfChat); panel2.add(list1); this.add(panel2,BorderLayout.CENTER); JPanel panel3 = new JPanel(); Label label2 = new Label(\聊天信息\ panel3.add(label2); panel3.add(tfMessage); panel3.add(btSend); this.add(panel3,BorderLayout.SOUTH); this.setBounds(50,50,400,350); this.setVisible(true); btConnect.addActionListener(this); btDisconnect.addActionListener(this); btSend.addActionListener(this); } public static void main(String[] args) { ChatClient client = new ChatClient(new Socket()); System.out.println(client.socket);}}} 六、 实验结果:
下面是杨和望的聊天记录:
7
七、 实验小结:
通过本次实验更好的掌握TCP和UDP网络编程。了解URL编程。掌握网络应用程序的开发方法;掌握Client/ Server结构软件的设计与开发方法掌握Socket机制的工作原理最后对于Java网络编程的知识有了更好的理解。
8
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库网络实验6Socket编程实现聊天程序(2)在线全文阅读。
相关推荐: