快速业务通道

Java编程那些事儿106——网络编程技术5 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-07-04

Java编程那些事儿106——网络编程技术5

时间:2010-03-20 csdn 陈跃峰

该示例的功能是实现将客户端程序的系统时间发送给服务器端,服务器端接收到时间以后,向客户端反馈字符串“OK”。实现该功能的客户端代码如下所示:

package udp; import java.net.*; import java.util.*; /** * 简单的UDP客户端,实现向服务器端发生系统时间功能 */ public class SimpleUDPClient {  public static void main(String[] args) {   DatagramSocket ds = null;  //连接对象   DatagramPacket sendDp; //发送数据包对象   DatagramPacket receiveDp; //接收数据包对象   String serverHost = "127.0.0.1"; //服务器IP   int serverPort = 10010;  //服务器端口号   try{    //建立连接    ds = new DatagramSocket();    //初始化发送数据    Date d = new Date(); //当前时间    String content = d.toString(); //转换为字符串    byte[] data = content.getBytes();    //初始化发送包对象    InetAddress address = InetAddress.getByName(serverHost);    sendDp = new DatagramPacket(data,data.length,address,serverPort);    //发送    ds.send(sendDp);    //初始化接收数据    byte[] b = new byte[1024];    receiveDp = new DatagramPacket(b,b.length);    //接收    ds.receive(receiveDp);    //读取反馈内容,并输出    byte[] response = receiveDp.getData();    int len = receiveDp.getLength();    String s = new String(response,0,len);    System.out.println("服务器端反馈为:" + s);   }catch(Exception e){     e.printStackTrace();   }finally{     try{       //关闭连接       ds.close();     }catch(Exception e){}   }  } }

Java编程那些事儿106——网络编程技术5(2)

时间:2010-03-20 csdn 陈跃峰

在该示例代码中,首先建立UDP方式的网络连接,然后获得当前系统时间,这里获得的系统时间是客户端程序运行的本地计算机的时间,然后将时间字符串以及服务器端的IP和端口,构造成发送数据包对象,调用连接对象ds的send方法发送出去。在数据发送出去以后,构造接收数据的数据包对象,调用连接对象ds的receive方法接收服务器端的反馈,并输出在控制台。最后在finally语句块中关闭客户端网络连接。

和下面将要介绍的服务器端一起运行时,客户端程序的输出结果为:

服务器端反馈为:OK

下面是该示例程序的服务器端代码实现:

package udp; import java.net.*; /** * 简单UDP服务器端,实现功能是输出客户端发送数据, 并反馈字符串“OK"给客户端 */ public class SimpleUDPServer {  public static void main(String[] args) {   DatagramSocket ds = null;  //连接对象   DatagramPacket sendDp; //发送数据包对象   DatagramPacket receiveDp; //接收数据包对象   final int PORT = 10010; //端口   try{    //建立连接,监听端口    ds = new DatagramSocket(PORT);    System.out.println("服务器端已启动:");    //初始化接收数据    byte[] b = new byte[1024];    receiveDp = new DatagramPacket(b,b.length);    //接收    ds.receive(receiveDp);    //读取反馈内容,并输出    InetAddress clientIP = receiveDp.getAddress();    int clientPort = receiveDp.getPort();    byte[] data = receiveDp.getData();    int len = receiveDp.getL

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号