`
- 浏览:
245065 次
- 性别:
- 来自:
湖南
-
1.服务端的代码。
- package udp;
-
- import java.io.IOException;
- import java.net.DatagramPacket;
- import java.net.DatagramSocket;
- import java.net.InetSocketAddress;
-
- /**
- * UDP服务类
- */
- public class UdpServerSocket {
-
- private byte[] buffer = new byte[1024];
- private static DatagramSocket ds = null;
- private DatagramPacket packet = null;
- private InetSocketAddress socketAddress = null;
-
- /**
- * 测试方法
- */
- public static void main(String[] args) throws Exception {
- String serverHost = "127.0.0.1";
- int serverPort = 3344;
- UdpServerSocket udpServerSocket = new UdpServerSocket(serverHost,
- serverPort);
- while (true) {
- udpServerSocket.receive();
- udpServerSocket.response("你好,吃了吗!");
- }
- }
-
- /**
- * 构造函数,绑定主机和端口
- */
- public UdpServerSocket(String host, int port) throws Exception {
- socketAddress = new InetSocketAddress(host, port);
- ds = new DatagramSocket(socketAddress);
- System.out.println("服务端启动!");
- }
-
- /**
- * 接收数据包,该方法会造成线程阻塞
- */
- public final String receive() throws IOException {
- packet = new DatagramPacket(buffer, buffer.length);
- ds.receive(packet);
- String info = new String(packet.getData(), 0, packet.getLength());
- System.out.println("接收信息:" + info);
- return info;
- }
-
- /**
- * 将响应包发送给请求端
- */
- public final void response(String info) throws IOException {
- System.out.println("客户端地址 : " + packet.getAddress().getHostAddress()
- + ",端口:" + packet.getPort());
- DatagramPacket dp = new DatagramPacket(buffer, buffer.length, packet
- .getAddress(), packet.getPort());
- dp.setData(info.getBytes());
- ds.send(dp);
- }
- }
- 2.客户端
1.package udp;
2.
3.import java.io.*;
4.import java.net.*;
5.
6./**
7. * UDP客户端程序,用于对服务端发送数据,并接收服务端的回应信息
8. */
9.public class UdpClientSocket {
10. private byte[] buffer = new byte[1024];
11.
12. private static DatagramSocket ds = null;
13.
14. /**
15. * 测试客户端发包和接收回应信息的方法
16. */
17. public static void main(String[] args) throws Exception {
18. UdpClientSocket client = new UdpClientSocket();
19. String serverHost = "127.0.0.1";
20. int serverPort = 3344;
21. client.send(serverHost, serverPort, ("你好,亲爱的!").getBytes());
22. byte[] bt = client.receive();
23. System.out.println("服务端回应数据:" + new String(bt));
24. // 关闭连接
25. try {
26. ds.close();
27. } catch (Exception ex) {
28. ex.printStackTrace();
29. }
30. }
31.
32. /**
33. * 构造函数,创建UDP客户端
34. */
35. public UdpClientSocket() throws Exception {
36. ds = new DatagramSocket(8899); // 邦定本地端口作为客户端
37. }
38.
39. /**
40. * 向指定的服务端发送数据信息
41. */
42. public final void send(final String host, final int port,
43. final byte[] bytes) throws IOException {
44. DatagramPacket dp = new DatagramPacket(bytes, bytes.length, InetAddress.getByName(host), port);
45. ds.send(dp);
46. }
47.
48. /**
49. * 接收从指定的服务端发回的数据
50. */
51. public final byte[] receive()
52. throws Exception {
53. DatagramPacket dp = new DatagramPacket(buffer, buffer.length);
54. ds.receive(dp);
55. byte[] data = new byte[dp.getLength()];
56. System.arraycopy(dp.getData(), 0, data, 0, dp.getLength());
57. return data;
58. }
59.}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
udp 服务端和客户端,c++
Unity UDP完整版代码,服务端和客户端都具备接受和发送的功能
UDP服务端和客户端代码 客户端发送数据 服务端接受数据
TCP、UDP服务端和客户端的源程序,可以自己更改,定时发送报文等
Qt实战TCP/UDP服务端与客户端源码,Qt使用TCP/UDP服务端与客户端通信。QTcpSocket和QtService使用示例。
UDP助手 服务端和客户端通用
mfc 开发的服务端与客户端,服务端与客户端可以任意连接IP与端口,可作测试工具使用,非常方便
超简单的UDP服务端与客户端通信实例(附赠得到本地IP地址的工程代码)注:记得把客户端代码中的IP地址换成自己机子服务端的IP地址哦
在QT下的UDP服务器和客户端的简单DEMO,实现相互发送数据。
UDP服务端和客户端,实现了从客户端发送命令到服务端
基于UDP协议的简单服务端和客户端,C++源代码
客户端发送一条信息给服务器,服务器与客户端就能互相通信了.
IAP烧录上位机软件,QT 编写,原创,亲测可以用 集成TCP 客户端和服务端 UDP 客户端与服务端,串口 等调试工具, 史上最强调试烧录工具,原创 具体查看...rank_ecpm_v1~rank_v31_ecpm-1-126893194-null-null.142^v50^...
实现了服务端和客户端之间的通信。源码确保编译成功,另附效果图。采取UDP协议,服务端界面运行后,不开启服务。客户端也能把内容发送到服务端。
NetAssist网络调试助手,是Windows平台下开发的TCP/IP网络调试工具,集TCP/UDP服务端及客户端于一体,是网络应用开发及调试工作必备的专业工具之一,可以帮助网络应用设计、开发、测试人员检查所开发的网络应用软/...
可以做为tcp和udp的客户端和服务器端发送相关的tcp和udp包。可以发送十六进制和具体的数据
可方便建立TCP UDP的socket服务端和客户端
udp打洞源码服务端和客户端C# 实现 实现C# UDP打洞服务端与客户端
UDP Socket 有客户端和服务端 发送数据和接收数据
使用udp传输的简单的客户端和服务端实现通信!