用UDP编写网络聊天程序
来源:互联网 发布:len在vb中什么意思 编辑:程序博客网 时间:2024/05/21 21:43
实现代码:
import java.awt.*;import java.awt.event.*;import java.net.*;public class Chat extends Frame { List lst = new List(6); TextField tfIP = new TextField(15); TextField tfData = new TextField(20); DatagramSocket ds = null; public Chat() { try { ds = new DatagramSocket(3000); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } this.add(lst, "Center"); Panel p = new Panel(); this.add(p, "South"); p.setLayout(new BorderLayout()); p.add(tfIP, "West"); p.add(tfData, "East"); new Thread(new Runnable() { public void run() { // TODO Auto-generated method stub byte[] buf = new byte[1024]; DatagramPacket dp = new DatagramPacket(buf, 1024); while (true) { try { ds.receive(dp); lst.add(new String(buf, 0, dp.getLength()) + "from " + dp.getAddress().getHostAddress() + ":" + dp.getPort(), 0); } catch (Exception e) { // TODO: handle exception if (!ds.isClosed()) { e.printStackTrace(); } } } } }).start(); tfData.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub byte[] buf; buf = tfData.getText().getBytes(); try { DatagramPacket dp = new DatagramPacket(buf, buf.length, InetAddress.getByName(tfIP.getText()), 3000); ds.send(dp); } catch (Exception e2) { // TODO: handle exception e2.printStackTrace(); } tfData.setText(""); } }); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { ds.close(); dispose(); System.exit(0); } }); } public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Starting Chat..."); Chat mainFrame = new Chat(); mainFrame.setSize(300, 400); mainFrame.setTitle("TestButton"); mainFrame.setVisible(true); mainFrame.setResizable(false); }}
运行结果:
要深刻理解代码。
1 0
- 用UDP编写网络聊天程序
- 黑马程序员-用UDP编写网络聊天程序
- java 网络编程【6】 用UDP编写网络聊天程序 以及 TCP编程实例
- java学习之利用UDP编写网络聊天程序
- udp网络聊天控制台程序
- C# UDP 网络聊天程序
- 用Delphi编写局域网中的UDP聊天程序 (收藏)
- C#使用UDP Client编写聊天程序
- C#使用UDP Client编写聊天程序
- Udp编写一个聊天程序(线程方式)
- Java使用UDP协议编写聊天程序
- 网络编程与多线程的应用--基于socket udp编写一个简单聊天程序
- socket UDP网络程序编写
- JAVA 网络编程 UDP(聊天程序)
- 网络编程(UDP协议-聊天程序)
- 基于TCP/UDP的网络聊天程序
- 网络编程编写一个聊天程序
- 利用C#编写的网络聊天程序
- Day 2 of traveling
- 如何解决maven搭建项目的时候,src/main/java无法建立的问题,提示信息The folder is already a source folder.
- GitHub&&SourceTree教程
- SPOJ QTREE5Query on a tree V(边分治)
- Socket编程—TcpListener和TcpClient的使用
- 用UDP编写网络聊天程序
- IOS UIScrollView——简单示例
- 设计模式之 原型模式(prototype)(C++实现 深拷贝 + 浅拷贝版本[bug])
- 对URL的使用
- OnItemClickListener 没响应的根本原因-源码解析
- [BZOJ3050][Usaco2013 Jan]Seating(线段树)
- C/C++ 调用 Python(实例)
- 几种常见的货币制度简介
- html学习笔记3