Java—网络编程实现UDP聊天室(局域网)
2017-11-05 19:35
363 查看
**
* 建立UDP接收端的思路。
*** 1,建立udp socket服务,因为是要接收数据,必须要明确一个端口号。
* 2,创建数据包,用于存储接收到的数据。方便用数据包对象的方法解析这些数据.
* 3,使用socket服务的receive方法将接收的数据存储到数据包中。
* 4,通过数据包的方法解析数据包中的数据。
* 5,关闭资源
接收端代码:
public class UDPRece{ public static void main(String[] args) throws IOException { System.out.println("接收端启动......"); //1,建立udp socket服务。 DatagramSocket ds = new DatagramSocket(10000); while(true){ //2,创建数据包。 byte[] buf = new byte[1024]; DatagramPacket dp = new DatagramPacket(buf,buf.length); //3,使用接收方法将数据存储到数据包中。 ds.receive(dp);//阻塞式的。 //4,通过数据包对象的方法,解析其中的数据,比如,地址,端口,数据内容。 String ip = dp.getAddress().getHostAddress(); int port = dp.getPort(); String text = new String(dp.getData(),0,dp.getLength()); System.out.println(ip+":"+port+":"+text); } //5,关闭资源。 // ds.close(); } }
**
* 创建UDP传输的发送端。
*** 思路:
* 1,建立udp的socket服务。
* 2,将要发送的数据封装到数据包中。
* 3,通过udp的socket服务将数据包发送出去。
* 4,关闭socket服务。
**
发送端代码:
**public class UDPSend { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { System.out.println("发送端启动......"); //1,udpsocket服务。使用DatagramSocket对象。 DatagramSocket ds = new DatagramSocket(8888); // String str = "udp传输演示"; BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in)); String line = null; while((line=bufr.readLine())!=null){ byte[] buf = line.getBytes(); DatagramPacket dp = new DatagramPacket(buf,buf.length,InetAddress.getByName("169.254.226.56"),10000); ds.send(dp); if("886".equals(line)) break; } //4,关闭资源。 ds.close(); } }
以上便可以实现一个简单的局域网聊天程序。
**
注意:
(1)建议不要使用eclipse进行编程,而使用dos窗口进行编译,打开两个dos窗口即可。(2)注意端口被占用的情况
**
相关文章推荐
- java UDP实现局域网广播
- java UDP实现局域网广播
- Java网络编程 - 基于UDP协议 实现简单的聊天室程序
- java基于socket的组播协议实现代码(局域网聊天室)
- Java——网络编程(实现基于命令行的多人聊天室)
- java网络编程,通过TCP,Socket实现多对一的局域网聊天室 .
- UDP java实现局域网发和收
- java网络编程,通过TCP,Socket实现多对一的局域网聊天室
- java网络编程,通过TCP,Socket实现多对一的局域网聊天室
- java UDP实现局域网广播
- Java 网络编程(TCP)实现服务器与客户端1对多的随意顺 序的聊天室
- Java基础知识强化之网络编程笔记05:UDP之多线程实现聊天室案例
- java网络编程,通过TCP,Socket实现多对一的局域网聊天室
- Java网络编程,通过TCP,Socket实现多对一的局域网聊天室
- udp广播局域网传送消息的实现
- java 实现局域网 上网代理
- java 实现局域网 上网代理
- Java 网络 UDP 一个局域网下的聊天小程序
- JAVA实现局域网聊天
- 用java多线程实现一个控制台聊天室