我是靠谱客的博主 愤怒摩托,最近开发中收集的这篇文章主要介绍java dns数据包_标准JAVA的TCP/UDP/DNS网络,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

标准JAVA的TCP, UDP,DNS网络

TiJOS 支持标准JAVA的TCP, UDP,DNS网络接口,标准网络应用通过java.net来支持。

标准网络应用开发说明

TiJOS 支持了大部分java.net中的类,主要包括:

说明

网络功能

Socket

TCP 客户端套接字

TCP Client

ServerSocket

TCP 服务端套接字

TCP Server

DatagramSocket

UDP套接字, 常与DatagramPacket一起使用

UDP

InetAddress

Internet地址

DNS

URI

统一资源标识符

TiJOS标准网络应用开发与标准JAVA一致, 具体可参考相关资料, 下面介绍一些典型应用的开发流程。

TCP 客户端

典型的TCP Client开发流程如代码所示:

//TCP服务器IP及PORT

String host = "192.168.1.55";

int port = 8080;

//连接服务器

Socket client = new Socket(host, port);

//发送数据到服务端

OutputStream output = client.getOutputStream();

output.write("Hello, this is client".getBytes());

output.flush();

//从服务端获取数据

InputStream input = client.getInputStream();

byte[] buffer = new byte[1024];

while (true) {

int len = -1;

len = input.read(buffer);

if(len > 0 ) //有数据收到

{

...

}

}

//关闭客户端

client.close();

TCP 服务端

典型TCP Server 开发流程如下所示:

//Server Socket

ServerSocket listener = new ServerSocket(8080);

System.out.println("local ip = " + listener.getLocalSocketAddress());

//Connected client socket

Socket socket = null;

//服务端等待客户端连接,默认超时时间: 60 seconds

socket = listener.accept();

System.out.println("a client is connected: " + socket.getRemoteSocketAddress());

//发送数据到客户端

OutputStream out = socket.getOutputStream();

out.write("Hello, This is the server.".getBytes());

out.flush();

//读取客户端数据

InputStream input = socket.getInputStream();

byte[] buff = new byte[1024];

while(true)

{

int len = 0;

len = input.read(buff);

if(len > 0)

{

System.out.println("message from client:" + new String(buff, 0, len));

}

}

UDP

典型的UDP应用如下所示:

DatagramSocket udpSocket = new DatagramSocket();

String remote = "192.168.1.55";

int port = 8080;

//UDP 发送数据

byte [] msg = ("Hello Server").getBytes();

DatagramPacket dp = new DatagramPacket(msg, msg.length, InetAddress.getByName(remote), port);

udpSocket.send(dp);

//UDP 接收数据

byte [] buffer = new byte[1024];

while(true)

{

dp.setData(buffer);

dp.setAddress(null);

//接收数据 默认超时时间10秒

udpSocket.receive(dp);

String info = new String(dp.getData(), 0, dp.getLength());

System.out.println("Received: " + info);

System.out.println("Remote IP:" + dp.getAddress());

}

最后

以上就是愤怒摩托为你收集整理的java dns数据包_标准JAVA的TCP/UDP/DNS网络的全部内容,希望文章能够帮你解决java dns数据包_标准JAVA的TCP/UDP/DNS网络所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部