Advertisement

Message.java的消息处理

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
《Message.java的消息处理》一文深入探讨了Java编程中消息对象的管理和操作技巧,涵盖了消息接收、解析及响应的最佳实践。适合中级开发者阅读和学习。 ```java import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.wireless.messaging.*; import java.io.IOException; import javax.microedition.io.*; public class Message extends MIDlet implements CommandListener { private Form form; // The form UI object private TextBox tb; // The SMS Text Entry UI object private TextField tf; // The text field for phone number private Command exitCmd; // The exit command object private Command composeCmd; // The compose SMS command object private Command sendCmd; // The send SMS command object private Display display; // 显示对象 private String txPort = 10000; //定义发送端口号 public Message() { /*初始化对象*/ form = new Form(SMS Transmit); tf = new TextField(Enter Phone Number, , 25, TextField.PHONENUMBER); tb = new TextBox(Compose SMS, , 100, TextField.ANY); composeCmd = new Command(Compose, Command.SCREEN, 2); sendCmd = new Command(Send, Command.SCREEN, 2); exitCmd = new Command(Exit, Command.EXIT, 3); display = Display.getDisplay(this); // Build Form UI form.addCommand(exitCmd); form.addCommand(composeCmd); form.append(tf); form.setCommandListener(this); // Build TextBox UI tb.addCommand(exitCmd); tb.addCommand(sendCmd); // Associate使联合 display with form display.setCurrent(form); } public void startApp() throws MIDletStateChangeException { } public void pauseApp() { } public void destroyApp( boolean unconditional ) { } public void commandAction(Command c, Displayable s) { if (c == exitCmd) { destroyApp(false); notifyDestroyed(); } if (c == composeCmd) { if (tf.getString().length() > 5) { // Switch UI to TextBox display.setCurrent(tb); tb.setCommandListener(this); } else { out(Phone Number Invalid Length); dbg(Message.commandAction(): Phone Number Invalid Length); } } if (c == sendCmd) { sendSMS(tb.getString()); } } // 能实际发送手机短信的到的WMA服务器的方法 private void sendSMS(String s) { try { String addr = sms:// + tf.getString() + : + txPort; MessageConnection conn = (MessageConnection) Connector.open(addr); TextMessage msg = (TextMessage)conn.newMessage(MessageConnection.TEXT_MESSAGE); msg.setPayloadText(tb.getString()); conn.send(msg); dbg(Message.sendSMS(): + tb.getString()); } catch (IOException ioe) { dbg(Message.sendSMS(): + ioe.toString()); //生成 } } private void out(String s) { form.append(s + \n); } private void dbg(String s) { System.out.println(s); } } ```

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Message.java
    优质
    《Message.java的消息处理》一文深入探讨了Java编程中消息对象的管理和操作技巧,涵盖了消息接收、解析及响应的最佳实践。适合中级开发者阅读和学习。 ```java import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.wireless.messaging.*; import java.io.IOException; import javax.microedition.io.*; public class Message extends MIDlet implements CommandListener { private Form form; // The form UI object private TextBox tb; // The SMS Text Entry UI object private TextField tf; // The text field for phone number private Command exitCmd; // The exit command object private Command composeCmd; // The compose SMS command object private Command sendCmd; // The send SMS command object private Display display; // 显示对象 private String txPort = 10000; //定义发送端口号 public Message() { /*初始化对象*/ form = new Form(SMS Transmit); tf = new TextField(Enter Phone Number, , 25, TextField.PHONENUMBER); tb = new TextBox(Compose SMS, , 100, TextField.ANY); composeCmd = new Command(Compose, Command.SCREEN, 2); sendCmd = new Command(Send, Command.SCREEN, 2); exitCmd = new Command(Exit, Command.EXIT, 3); display = Display.getDisplay(this); // Build Form UI form.addCommand(exitCmd); form.addCommand(composeCmd); form.append(tf); form.setCommandListener(this); // Build TextBox UI tb.addCommand(exitCmd); tb.addCommand(sendCmd); // Associate使联合 display with form display.setCurrent(form); } public void startApp() throws MIDletStateChangeException { } public void pauseApp() { } public void destroyApp( boolean unconditional ) { } public void commandAction(Command c, Displayable s) { if (c == exitCmd) { destroyApp(false); notifyDestroyed(); } if (c == composeCmd) { if (tf.getString().length() > 5) { // Switch UI to TextBox display.setCurrent(tb); tb.setCommandListener(this); } else { out(Phone Number Invalid Length); dbg(Message.commandAction(): Phone Number Invalid Length); } } if (c == sendCmd) { sendSMS(tb.getString()); } } // 能实际发送手机短信的到的WMA服务器的方法 private void sendSMS(String s) { try { String addr = sms:// + tf.getString() + : + txPort; MessageConnection conn = (MessageConnection) Connector.open(addr); TextMessage msg = (TextMessage)conn.newMessage(MessageConnection.TEXT_MESSAGE); msg.setPayloadText(tb.getString()); conn.send(msg); dbg(Message.sendSMS(): + tb.getString()); } catch (IOException ioe) { dbg(Message.sendSMS(): + ioe.toString()); //生成 } } private void out(String s) { form.append(s + \n); } private void dbg(String s) { System.out.println(s); } } ```
  • C#HL7
    优质
    这是一个用于解析和创建HL7医疗数据标准消息的C#库,帮助开发者高效地在医疗应用中集成HL7通信。 一个用C#编写的HL7消息的类库,可以创建对象并调用其中的方法来解析HL7消息。
  • C#HL7
    优质
    本库为C#开发环境下的HL7(v2.x)消息解析与生成工具,提供便捷的数据交换功能,适用于医疗信息系统的集成和数据交互。 一个用C#编写的HL7消息的类库,可以申请对象调用其中的函数进行HL7消息解析。
  • MQTT+Spring Boot+Redis
    优质
    本项目结合了MQTT协议、Spring Boot框架和Redis技术,构建了一个高效的消息处理系统。通过该系统,可以实现消息的实时传输与存储,提高应用系统的响应速度与稳定性。 MQTT结合SpringBoot和Redis实现订阅发布统一消息处理,适用于对接设备的一整套代码,已经过亲测验证。
  • T38流程图
    优质
    本图详细展示了T38传真协议的消息处理流程,涵盖从初始化到会话结束各个环节的技术细节,适用于技术开发与研究。 使用Wireshark打开T38所有消息流程图(sender:10.33.14.30 -> 10.33.129.132 -> receiver: 10.33.14.31),并选择解码为T38。
  • SAP S4CVI_BDT_ADAPTER051_BP_CVI_MAPPING_043错误
    优质
    本文章详细解析了在使用SAP S/4HANA系统过程中遇到的消息代码CVI_BDT_ADAPTER051_BP_CVI_MAPPING_043的错误,提供了深入的原因分析及有效的解决方法。 在SAP S4系统中维护BP时遇到错误消息号CVI_BDT_ADAPTER051以及CVI_MAPPING 043,需要进行相应的错误处理。
  • MFC 中键盘实现
    优质
    本文章介绍了在Microsoft Foundation Classes (MFC)框架中如何捕获和响应键盘输入事件的方法与技巧,帮助开发者更高效地进行界面交互编程。 设计一个窗口,在该窗口中练习键盘的响应。要求如下:当单击键盘上的向上箭头键时,窗口显示“You had hitted the up key”;当单击键时,窗口显示“You had hitted the SHIFT key”;当单击键时,窗口显示“You had hitted the CTRL key”;当同时按下组合键时,窗口显示“You had hitted the CTRL A key”;当同时按下组合键时,窗口显示“You had hitted the SHIFT B key”。
  • Java中NB-IoT订阅
    优质
    本篇文章主要探讨了在Java编程环境中如何实现和处理基于NB-IoT技术的消息订阅机制,包括其实现原理、应用场景及开发技巧。适合对此话题感兴趣的开发者参考学习。 在物联网(IoT)领域内,窄带物联网(NB-IoT)是一种专为低功耗广域网络(LPWAN)设计的技术,在智能城市、智能家居及环境监测等场景中得到广泛应用。本项目主要探讨的是如何通过Java实现NB-IoT设备与云端平台之间的消息订阅和处理功能。 项目涵盖的核心知识点包括: 1. **IoT平台交互**:物联网平台作为连接NB-IoT设备与应用程序的桥梁,负责收集并提供数据访问接口。在此场景中,代码需要接收平台推送的数据,并进行相应的解析。 2. **数据处理**:原始接收到的数据可能需经过格式转换、清洗和分析等步骤才能进一步使用。例如,在此案例中,涉及从JSON结构化数据中提取关键信息。 3. **微信消息推送服务**:为了在移动端展示结果,项目采用了将处理后的信息转化为符合微信服务器要求的格式并通过其API发送到用户的机制。 4. **Jersey框架应用**:作为Java RESTful Web服务(JAX-RS)规范的一个参考实现,Jersey用于构建HTTP服务端点以接收和响应来自IoT平台的消息。 深入探讨: - 在处理NB-IoT消息时,开发者需要了解其通信协议及数据结构。 - Java编程语言广泛应用于后端开发。在此项目中,Java的网络编程库如Socket或HttpURLConnection可能被用于实现与设备的数据交换。 - RESTful API的设计是构建现代Web服务的关键原则之一,Jersey框架简化了HTTP请求和响应的处理流程。 - 微信开放平台提供了丰富的API接口,允许开发者向微信用户推送消息。使用这些API需要遵守其安全策略,并获取相应的认证信息(AppID、AppSecret等)以确保合法访问。 - 数据处理可能包括解析JSON格式的数据,过滤无关的信息以及进行必要的转换。 此外,在数据传输过程中还需要考虑安全性问题,例如采用HTTPS协议加密通信内容及实现身份验证机制来保护敏感信息不被未授权方获取。
  • 多线程队列日志
    优质
    本项目专注于开发一个多线程消息队列系统中的日志处理机制,旨在提高系统的稳定性和可维护性。通过高效的日志管理和错误追踪,确保在复杂应用场景下的性能优化和故障排查。 在IT行业中,多线程与队列是两个重要的概念,在处理高性能、高并发的应用场景下尤为关键。消息队列作为中间件被广泛应用于日志记录、数据传输等异步任务的管理中,以提高系统的响应速度和可扩展性。 多线程指的是在一个进程中创建多个执行线程,这些线程共享同一内存空间,并可以同时运行不同的任务。利用多线程技术能够充分挖掘多核处理器的能力,提升程序并行处理效率,在处理如读写日志这类IO密集型任务时尤为有效。然而,多线程也可能引发数据竞争和死锁等安全问题,需要通过使用锁、信号量等方式确保各线程间正确同步。 队列是一种遵循先进先出(FIFO)规则的数据结构。在多线程环境中,队列常作为生产者与消费者之间通信的桥梁:生产者将数据放入队列中,而消费者从队列取出并处理这些数据。这种方式降低了两者间的耦合度,并且能够灵活应对不同步的数据生成和消费速度问题。例如,在日志管理场景下,应用程序可能快速地产生大量日志信息,但分析服务则需要更多时间来解析与存储。 线程执行器(或称作线程池)是一种用于管理和调度任务的机制。它预先创建了一定数量的工作线程,并在有任务等待处理时从这些已准备好的线程中选择一个进行作业;完成之后该线程将返回到队列,以便于后续使用。这种做法避免了频繁地启动和关闭新进程所带来的开销问题,从而提高了程序运行效率。在线索消息处理方面,利用线程池可以实现多个工作单元同时从消息队列提取日志信息并进行相应操作。 调度是多任务环境中决定哪些线程可以获得CPU时间片的关键环节;通常由操作系统或编程语言的执行环境来控制这一过程。对于涉及多线程与消息队列的应用来说,恰当的调度策略有助于确保高优先级的日志记录能够得到及时处理,同时也能让较低级别的日志在系统空闲时被适时地分析和存储。 合理运用多线程技术和消息队列是优化日志管理系统的关键手段。通过精心设计及实现这些机制,并结合有效的异常管理与性能调优策略,我们可以构建出既高效又具有高度扩展性的日志处理架构,确保关键信息能够得到及时且精确的管理和解析。