- 浏览: 108569 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
lws0402:
sghys 写道附件根本没这代码代码都贴在网上了,很简单。附件 ...
jdk 1.5 搭建 jax-ws -
sghys:
附件根本没这代码
jdk 1.5 搭建 jax-ws -
dukunpeng22:
按照楼主的思路,也可以做一个文字的倒影效果,蛮不错的
ImageView倒影效果 -
yangpanwww:
哈哈。。原因不是你说的这个原因吧
在 tomc ...
Xfire调用webservice出错 -
mapeijie888:
貌似还是不行啊 兄弟贴代码出来看看
javah编译带包class文件出错解决方法
采用UDP的通讯方式,调用java自带的awt打印接口
服务器端代码
Server:
打印线程代码
PrintThread
打印的实际代码
Print:
客户端代码
Client:
服务器端代码
Server:
# import java.io.IOException; # import java.net.DatagramPacket; # import java.net.DatagramSocket; # import java.net.SocketException; # # public class Server # { # private DatagramSocket server; # # private DatagramPacket packet; # # private byte[] b; # # public Server() # { # startServer(); # } # # private void startServer() # { # try # { # server = new DatagramSocket(12345); # # while(true) # { # b = new byte[1024]; # # packet = new DatagramPacket(b, b.length); # # server.receive(packet); # # new Thread(new PrintThread(packet, b)).start(); # } # # }catch(SocketException e) # { # e.printStackTrace(); # }catch(IOException e) # { # e.printStackTrace(); # }finally # { # server.close(); # } # } # # public static void main(String[] args) # { # new Server(); # } # }
打印线程代码
PrintThread
# import java.net.DatagramPacket; # # public class PrintThread implements Runnable # { # private DatagramPacket packet; # # private byte[] b; # # public PrintThread(DatagramPacket packet, byte[] b) # { # this.packet = packet; # this.b = b; # } # # public void run() # { # int i = 0; # # i = packet.getLength(); # # if(i>0) # { # String str = new String(b, 0, i); # new Print().doPrint(str); # } # } # }
打印的实际代码
Print:
# import java.awt.Color; # import java.awt.Font; # import java.awt.Graphics; # import java.awt.Graphics2D; # import java.awt.Paint; # import java.awt.print.PageFormat; # import java.awt.print.Printable; # import java.awt.print.PrinterException; # # import javax.print.Doc; # import javax.print.DocFlavor; # import javax.print.DocPrintJob; # import javax.print.PrintException; # import javax.print.PrintService; # import javax.print.PrintServiceLookup; # import javax.print.SimpleDoc; # import javax.print.attribute.DocAttributeSet; # import javax.print.attribute.HashDocAttributeSet; # import javax.print.attribute.standard.MediaSizeName; # import javax.swing.JOptionPane; # # public class Print implements Printable { # # private String content = null; # # public void setContent(String content) { # this.content = content; # } # # public void doPrint(String content) { # if (null == content || content.equals("")) { # Object message = new String("Sorry, Printer Job is Empty, Print Cancelled!"); # String title = "Empty"; # JOptionPane.showConfirmDialog(null, message, title, JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE); # } else { # setContent(content); # PrintService printService = PrintServiceLookup.lookupDefaultPrintService(); # DocPrintJob docPrintJob = printService.createPrintJob(); # DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PRINTABLE; # DocAttributeSet attributes = new HashDocAttributeSet(); # attributes.add(MediaSizeName.A); # Doc doc = new SimpleDoc(this, flavor, attributes); # try { # docPrintJob.print(doc, null); # } catch (PrintException e) { # // TODO Auto-generated catch block # e.printStackTrace(); # } # } # } # # public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) # throws PrinterException { # // TODO Auto-generated method stub # if (pageIndex >= 1) { # return Printable.NO_SUCH_PAGE; # } else { # Graphics2D graphics2D = (Graphics2D) graphics; # graphics2D.translate(pageFormat.getImageableX(), pageFormat.getImageableY()); # Paint paint = Color.black; # graphics2D.setPaint(paint); # Font font = new Font("宋体", Font.PLAIN, 10); # graphics2D.setFont(font); # float x = 0.0f; # float y = font.getSize2D(); # # String[] array = content.split("@"); # String room_idx = array[0]; # String content = array[1]; # String price = array[2]; # String unit = array[3]; # String time = array[4]; # # price = price + "元/" + unit; # # graphics2D.drawString("网络视频酒店信息服务项目", x, 1*y); # graphics2D.drawString("--------------------------------", x, 2*y); # graphics2D.drawString("房间号: " + room_idx, x, 3*y); # graphics2D.drawString("消费内容: " + content, x, 4*y); # graphics2D.drawString("消费金额: " + price, x, 5*y); # graphics2D.drawString("消费时间: " + time, x, 6*y); # } # return Printable.PAGE_EXISTS; # } # # }
客户端代码
Client:
# import java.io.IOException; # import java.net.DatagramPacket; # import java.net.DatagramSocket; # import java.net.InetSocketAddress; # import java.net.SocketException; # import java.text.SimpleDateFormat; # import java.util.Date; # # public class Client # { # private DatagramSocket client; # # private DatagramPacket packet; # # private InetSocketAddress address; # # private byte[] b; # # public void doPrint(String str) # { # try # { # client = new DatagramSocket(); # # address = new InetSocketAddress("127.0.0.1", 12345); # # SimpleDateFormat spl = new SimpleDateFormat("yy-MM-dd HH:mm:ss"); # # str = str + "@" + spl.format(new Date()); # # b = str.getBytes(); # # packet = new DatagramPacket(b, b.length, address); # # client.send(packet); # } catch (SocketException e) # { # e.printStackTrace(); # } catch (IOException e) # { # e.printStackTrace(); # } finally # { # client.close(); # } # } # # public static void main(String[] args) # { # for(int i = 0; i<5; i++) # { # int a = i; # String str = a + "@" + (a+1) + "@" + (a+2) + "@天"; # new Client().doPrint(str); # } # } # }
发表评论
-
java生成不重复的用户邀请码
2016-05-26 11:00 7160直接上代码,根据一个值M(可以是用户唯一表示,如主键id,或手 ... -
terracotta + tomcat + nginx集群
2015-04-24 11:30 1384今天研究了一下terracotta + tomcat的集群,记 ... -
jdk 1.5 搭建 jax-ws
2013-09-26 11:30 4543从jdk1.6开始,可以直接搭建jax-ws,但是jdk1.5 ... -
找不到WEB-INF下的proxool.xml的问题
2011-05-12 15:09 2131在windows下部署正常的系统,移植到linux下,启动时报 ... -
applet
2011-03-24 16:45 1541在jsp页面使用applet时。总是报错——找不到类。 主要是 ... -
(转载)java单例模式的6种写法
2011-03-11 16:33 1836第一种(懒汉,线程不安全) public class Sing ... -
javah编译带包class文件出错解决方法
2011-01-04 11:04 2507用JNI时,需要把class文件编译成.h文件 不带包名的cl ... -
java获得字符串中的指定字符
2010-11-12 10:16 1663正则表达式除了匹配一串字符串是否符合某种格式,还能从文本中过滤 ... -
判断文件是否为图片文件
2010-08-30 11:32 4350判断文件是否为图片,仅通过后缀名判断很不全面,如果把一个txt ... -
Java动态调用方法
2010-05-26 11:52 21094public void function(String s ... -
java UDP传输
2010-05-26 11:47 1205TCP通过 ServerSocket 和 Socket 来实现 ... -
基于prototype.js和spring的ajax分页
2010-05-26 11:42 1771这是一个基于prototype.js的ajax分页,运用了sp ... -
java soap + tomcat 开发
2010-05-26 11:34 3738不带javaBean的SOAP调用 首先,下载soap.wa ... -
java过滤关键字
2010-05-26 11:29 3328KeywordFilter.java: 1. imp ... -
java ftp操作
2010-05-26 11:14 1722简单的写了个java对ftp的操作 用的是commons-n ... -
tomcat一闪而过启动失败
2010-05-26 11:11 15141、手动点击startup.bat受,一闪而过 在用文本打开 ...
相关推荐
本教程主要关注使用Java标准版(J2SE)进行UDP(用户数据报协议)通信,特别是如何发送16进制格式的报文。UDP是一种无连接的、不可靠的传输协议,适合对实时性要求高的场景,例如视频流和在线游戏。 首先,让我们...
在Java网络编程中,UDP(User Datagram Protocol)是一种无连接的传输层协议,它提供了简单且高效的数据包传输,但不保证数据的顺序或可靠性。本文将通过一个简单的实例来介绍如何使用Java实现UDP通信。 首先,我们...
在这个“UDP echo client server”项目中,我们有两个核心文件:UDPClient.java 和 UDPEchoServer.java。这两个文件分别实现了UDP协议中的客户端和服务端功能,用于演示UDP数据包的发送和接收,也就是所谓的回显服务...
在这个"UDP-Server-master.zip_java udp server"项目中,我们将会探讨如何在Java中实现一个UDP服务器及其客户端。 首先,我们要理解Java中的`DatagramSocket`类,这是处理UDP通信的核心。`DatagramSocket`用于发送...
6. **处理和输出结果**:在解析数据包后,你可以根据需求对UDP首部信息进行处理,例如打印到控制台,或者存储到文件中。为了区分不同数据包,可以在输出时添加分隔符。 7. **结束捕获**:当你完成数据包捕获后,...
创建一个简单的UDP服务器,监听特定端口并打印接收到的数据: ```java import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddress; ...
在Java中实现UDP通信,通常涉及到两个主要类:`java.net.DatagramSocket` 和 `java.net.DatagramPacket`。 `DatagramSocket` 类代表一个UDP套接字,用于发送和接收数据报包。创建一个`DatagramSocket`对象时,系统...
Java UDP实例是一个关于使用Java实现用户数据报协议(User Datagram Protocol)编程的示例。UDP是一种无连接的、不可靠的传输层协议,常用于实时音视频传输、在线游戏等对延迟敏感且能容忍丢包的场景。在这个实例中...
基于Java中UDP的广播形式(实例讲解) 本篇文章主要讲解了基于Java中UDP的广播形式的实现过程,通过实例讲解,帮助读者更好地理解UDP协议在Java中的应用。 一、UDP协议简介 UDP(User Datagram Protocol)是一种...
Java UDP 通信客户端与服务器端实例分析 Java UDP 通信客户端与服务器端实例分析是介绍 Java 语言基于 UDP 协议的客户端与服务器端的实现技巧和相关操作注意事项。UDP 协议是一种无连接的网络协议,它不像 TCP 协议...
在本文中,我们将深入探讨如何使用Java编程语言实现基于UDP协议的数据传输。UDP协议是一种无连接的、不可靠的传输层协议,相比TCP协议,它提供了更低的延迟和更高的传输效率,尤其适用于对实时性要求高的应用,如...
本篇将详细介绍如何使用Java语言来实现基于UDP的客户端与服务器端通信。 首先,我们要了解UDP的基本原理。UDP不建立连接,而是直接发送数据报,每个数据报包含完整的源地址和目的地址,因此可以由任何节点发送到...
- **服务端(server.java)**:首先创建一个`DatagramSocket`监听指定端口,然后在一个无限循环中不断接收`DatagramPacket`,解析接收到的数据并打印,最后通过`DatagramSocket.send()`方法将响应数据回送给客户端。...
在本文中,我们将深入探讨如何使用Java实现一个UDP(用户数据报协议)服务器,这个服务器被称为"shuthaa"。UDP是一种无连接的网络协议,它不像TCP那样提供可靠的数据传输,但因其轻量级和低延迟的特性,常用于实时...
2. **准备数据**:UDP通信的数据通常封装在`java.net.DatagramPacket`对象中。开发者需要创建一个字节数组来存放要发送的数据,并创建一个`DatagramPacket`实例,将数据和目标IP地址、端口号传入。 3. **发送数据**...
Java小程序基于UDP协议的会话小练习主要涉及的是网络编程中的用户数据报协议(User Datagram Protocol,UDP)。UDP是一种无连接的、不可靠的传输层协议,与之相对的TCP协议则是面向连接、可靠的。在Java中,我们可以...
在Java编程语言中,UDP(User Datagram Protocol)是一种无连接的传输层协议,常用于对实时性要求较高的应用,如在线视频、音频流媒体或在线游戏。与TCP(Transmission Control Protocol)不同,UDP不保证数据包的...
Java Socket UDP实例详解 在Java中,Socket API不仅支持TCP(传输控制协议)通信,也支持UDP(用户数据报协议)。UDP是一种无连接的、不可靠的传输协议,适合于实时性要求高但数据完整性要求相对较低的场景。在本文...
Java操作Memcached实例详解 在Java开发中,Memcached是一个广泛应用的分布式内存缓存系统,用于提高应用程序的数据访问速度。本教程将详细讲解如何在Java项目中集成和使用Memcached,以及通过提供的工具类实现各种...
Java中的UDP(User Datagram Protocol)网络通信是一种无连接的、不可靠的数据传输方式,它相比TCP(Transmission Control Protocol)提供了更低的延迟和更高的效率。在Java中,通过使用`java.net`包下的类,我们...