java学习之利用UDP编写网络聊天程序
来源:互联网 发布:易观智库 数据来源 编辑:程序博客网 时间:2024/05/17 07:38
代码如下:
udpT.java
package udpT;import java.awt.*;import java.awt.event.*;import java.io.IOException;import java.net.*;import javax.swing.*;public class udpT extends JFrame {List lst=new List(6);JTextField ipJtf=new JTextField(15);JTextField msgJtf=new JTextField(20);JPanel jp=new JPanel();public udpT(){Container c=this.getContentPane();c.add(jp,BorderLayout.SOUTH);c.add(lst,BorderLayout.CENTER);jp.add(ipJtf,BorderLayout.WEST);jp.add(msgJtf,BorderLayout.EAST);new Thread(new recMsg(6000)).start();//内容文本框监听事件msgJtf.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubsendMsg(msgJtf.getText(),6000);msgJtf.setText("");}});}//发送函数。定义输入字符串和端口public void sendMsg(String str,int port){DatagramSocket ds = null;byte[] buff=null;buff=str.getBytes();try {ds = new DatagramSocket();DatagramPacket dp=new DatagramPacket(buff,buff.length,InetAddress.getByName(ipJtf.getText()),port);ds.send(dp);//ds.close();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}//定义内部接收类 class recMsg implements Runnable{ DatagramSocket ds=null; DatagramPacket dp=null; String str=null; int portS=0; byte[] buff=new byte[1024]; //构造函数,接收端口号 public recMsg(int port) { this.portS=port; } //重写run方法,实现多线程运行接收程序 public void run() { try { ds = new DatagramSocket(portS); } catch (SocketException e1) { e1.printStackTrace(); } byte[] buf=new byte[1024]; while(true){ try{ DatagramPacket dp=new DatagramPacket(buf,buf.length); ds.receive(dp); //String data = new String(buf,0,dp.getLength()); //String ip = dp.getAddress().getHostAddress(); //int port = dp.getPort(); // str = ip+" : "+port+"\r\n"+data+"\r\n\r\n"; str="接收信息来自: "+dp.getAddress().getHostAddress()+":"+dp.getPort() +" 信息内容为: "+new String(dp.getData(),0,dp.getLength()); lst.add(str); }catch(Exception e){ e.printStackTrace(); } } }}public static void main(String[] args) {// TODO Auto-generated method stubudpT mf=new udpT();mf.setTitle("UDP网络聊天程序");mf.setSize(500, 400);mf.setVisible(true);mf.setResizable(false);}}
0 0
- java学习之利用UDP编写网络聊天程序
- 用UDP编写网络聊天程序
- Java 网络编程之 (UDP网络聊天程序)
- Java使用UDP协议编写聊天程序
- 利用C#编写的网络聊天程序
- java 网络编程【6】 用UDP编写网络聊天程序 以及 TCP编程实例
- JAVA 网络编程 UDP(聊天程序)
- 黑马程序员-用UDP编写网络聊天程序
- java面试题之----UDP聊天程序
- Java UDP聊天程序
- 【Java】UDP聊天程序
- udp网络聊天控制台程序
- C# UDP 网络聊天程序
- 使用UDP协议的JAVA网络聊天程序
- Java 网络 UDP 一个局域网下的聊天小程序
- Java-网络编程(UDP-聊天)
- UDP聊天程序学习笔记
- java基础学习笔记——网络UDP/聊天
- [leetcode]-Find the Duplicate Number
- 论工作周报中完成率的科学性
- 实现基于阿里云负载均衡https证书
- CSS——字体属性
- python opencv(10)图像的加噪
- java学习之利用UDP编写网络聊天程序
- Android中ListView下拉刷新上拉加载更多效果实现
- windows下使用openssl建立自签名证书的过程
- HDU 5747 Aaronson 贪心
- 软件自动化生产的最大障碍在于机器理解不了业务逻辑
- tjut 4925
- Linux下调用math.h头文件但编译显示未定义
- java数组
- 使用QProxyStyle定制QMenu (三)