求助帖;RxtxFAX怎样通过调用传真服务器的串口COM1,COM2,通过电话线座机号发送传真?

目前我通过引用fax4j的jar包,然后在服务器配置rxtx-2.2pre2的RXTXcomm.jar和rxtxSerial.dll文件

    <dependency><groupId>net.sf.fax4j</groupId><artifactId>fax4j</artifactId><version>0.42.9</version></dependency>

然后通过代码能够打开串口,连接串口,监听串口,但是不知道怎样通过串口,电话线,座机号发送传真

package com.hx.controller;/**//**@作者:*@时间:2019/8/5 15:23*@功能:*/import com.alibaba.fastjson.JSONObject;
import com.hx.common.PortName;
import com.oracle.jrockit.jfr.Producer;
import gnu.io.*;
import org.fax4j.FaxClient;
import org.fax4j.FaxClientFactory;
import org.fax4j.FaxJob;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import java.awt.image.BufferedImage;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.TooManyListenersException;
//串口2
@Controller
public class TestController2 implements SerialPortEventListener,ServletContextListener {private static SerialPort serialPort;private static BufferedInputStream inputStream;private static CommPortIdentifier commPort;private static String appName = "电话传真通讯测试";private static int timeout = 2000;// open 端口时的等待时间private BufferedOutputStream outputStream;private static void checkPort() {if (commPort == null){selectPort();}if (serialPort == null) {openPort();}}public static void selectPort() {commPort = null;CommPortIdentifier cpid;Enumeration en = CommPortIdentifier.getPortIdentifiers();while (en.hasMoreElements()) {cpid = (CommPortIdentifier) en.nextElement();if (cpid.getPortType() == CommPortIdentifier.PORT_SERIAL && cpid.getName().equals(PortName.PORTNAME2)) {commPort = cpid;break;}}}private static void openPort() {try {serialPort = (SerialPort) commPort.open(appName, timeout);System.out.println("实例 SerialPort 成功!");} catch (PortInUseException e) {System.out.println(e+"...端口"+commPort.getName()+"正在使用中!");}}@Overridepublic void serialEvent(SerialPortEvent serialPortEvent) {switch (serialPortEvent.getEventType()) {case SerialPortEvent.BI:/* Break interrupt,通讯中断 */case SerialPortEvent.OE:/* Overrun error,溢位错误 */case SerialPortEvent.FE:/* Framing error,传帧错误 */case SerialPortEvent.PE:/* Parity error,校验错误 */case SerialPortEvent.CD:/* Carrier detect,载波检测 */case SerialPortEvent.CTS:/* Clear to send,清除发送 */case SerialPortEvent.DSR:/* Data set ready,数据设备就绪 */case SerialPortEvent.RI:/* Ring indicator,响铃指示 */case SerialPortEvent.OUTPUT_BUFFER_EMPTY:/** Output buffer is* empty,输出缓冲区清空*/break;case SerialPortEvent.DATA_AVAILABLE:/** Data available at the serial* port,端口有可用数据。读到缓冲数组,输出到终端*/byte[] readBuffer = new byte[1024];String readStr = "";String s2 = "";try {while (inputStream.available() > 0) {inputStream.read(readBuffer);readStr += new String(readBuffer).trim();}s2 = new String(readBuffer).trim();String portname=commPort.getName();System.out.println("接收到"+portname+"端口返回数据(长度为" + readStr.length() + "):" + readStr);System.out.println(s2+"22222222222222");} catch (IOException e) {}}}//监听端口接收数据@Overridepublic void contextInitialized(ServletContextEvent sce) {//选择接收数据的串口,然后监听该串口,并且从tomcat 启动开始就开始监听,并接收数据\//在开始监听时先检查是否能正确连接,没有的话就打开链接checkPort();String str="";try {serialPort.addEventListener(this);//设置当有数据到达时唤醒监听接收线程serialPort.notifyOnDataAvailable(true);//设置当通信中断时唤醒中断线程serialPort.notifyOnBreakInterrupt(true);inputStream = new BufferedInputStream(serialPort.getInputStream());} catch (IOException e) {System.out.println("获取端口的InputStream出错:" + e.getMessage());}catch (TooManyListenersException e) {System.out.println(e.getMessage());}}@Overridepublic void contextDestroyed(ServletContextEvent sce) {}@RequestMapping("write")@ResponseBodypublic String write() {String message="111111155555";checkPort();try {outputStream = new BufferedOutputStream( serialPort.getOutputStream() );outputStream.write( message.getBytes( "GBK" ), 0, message.getBytes( "GBK" ).length );System.out.println( "信息发送成功!" + new String( message.getBytes() ) );}catch (IOException e){System.out.println( "获取端口的OutputStream出错:" + e.getMessage() );}finally{try {outputStream.close();} catch (Exception e) {System.out.println( "关闭串口时出错:" + e.getMessage() );}}return JSONObject.toJSONString( "成功" );}}

求助,有大神吗?急..

求助帖;RxtxFAX怎样通过调用传真服务器的串口COM1,COM2,通过电话线座机号发送传真?相关推荐

  1. 拼团倒计时效果 2021-01-13

    [欢迎关注wx公众号:一缕风沙渡,回复uniapp拼团倒计时获取最新文件] image.png image.png 拼团倒计时效果.gif <template><view class ...

  2. matlab 中调用s函数表达式,[求助]S函数中能否调用M函数

    [求助]S函数中能否调用M函数 我现在写了一个S-FUNCTION 里面调用了一些M函数,当把S函数的名字写入S-FUNCTION块的时候 总是出现 ??? SWITCH expression mus ...

  3. 博图程序需要手动同步_贴吧求助帖博图实例单按钮控制灯的程序

    接上一期在贴吧看见的求助帖(上图看得见水印),因为没人回复,发帖的楼主好像删除了帖子.结果我抽时间用博图15.1,S71200做了一个,希望给需要帮助的新人能够起到作用,感觉有用的话可以关注一下我的公 ...

  4. 求助帖~~~~好心人看过来

    求助帖,请大佬教教我如何在html中直接使用element ui组件(下面有我源代码,用了一个走马灯,但是无法显示图片,我还是个弟弟,刚开始接触前端,希望大家帮帮我~~~) <!DOCTYPE ...

  5. 调用JavaAPI发送传真

    最近搞了一个java发送传真程序,在网上搜了半天,没找到具体的例子,最后找到了国外的开源技术jacob,才解决了这个问题. 环境要求:windows xp系统,jdk 1.4(不要太高或太低,不然会发 ...

  6. java传真发送_调用java API发送传真

    最近搞了一个java发送传真程序,在网上搜了半天,没找到具体的例子,最后找到了国外的开源技术jacob,才解决了这个问题. 环境要求:windows xp系统,jdk 1.4(不要太高或太低,不然会发 ...

  7. 调用Java API发送传真

    最近搞了一个java发送传真程序,在网上搜了半天,没找到具体的例子,最后找到了国外的开源技术jacob,才解决了这个问题. 环境要求:windows xp系统,jdk 1.4(不要太高或太低,不然会发 ...

  8. java死循环_java小白关于while死循环时处理办法的一发求助帖

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 package greedsnake; import java.awt.Color; import java.awt.Font; import java. ...

  9. java 暂停循环_java小白关于while死循环时处理办法的一发求助帖

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 package greedsnake; import java.awt.Color; import java.awt.Font; import java. ...

最新文章

  1. 2021年大数据ELK(一):集中式日志协议栈Elastic Stack简介
  2. android美颜功能,Android
  3. c#中windows验证连接字符串
  4. iOS Mac JSON To Model
  5. 计算机配置对电子竞技的影响,配置高并不是唯一优点 看看电竞硬件还要啥?...
  6. python3环境运行python2代码_使用Anaconda实现Python2和Python3共存及相互转换
  7. CentOS7 如何关闭防火墙
  8. infor wms 项目启动_派诺科技数字工厂MES/WMS系统项目正式启动
  9. php session位置,关于PHP中Session文件过多的问题及session文件保存位置
  10. 共用体变量不能在定义时初始化_【C语言资料更新】共用体联合体
  11. blood vessel 图像分割_单图像九宫格形式发送朋友圈
  12. 在linux下将当前目录文件全部小写含目录名
  13. 管理之道(七) - 不可奖励员工错误的行为
  14. 问题:无法打开Workstation服务,错误代码2250
  15. pe不认服务器硬盘,WINPE认不出硬盘或移动硬盘怎么办?
  16. linux tc工具,Linux TC软件系统损坏自助恢复的工具.TC刷机,TC修复,TCPUP,TCP-UP
  17. Windows Server 2016 IPAM 服务管理-李海园-专题视频课程
  18. 幽默感,其实是个高级货
  19. java怎么提升编程能力_怎样提升java编程能力
  20. Python第二天(重点为字符串)

热门文章

  1. VHDL编写8-3线优先编码器
  2. PHP内核-Zend引擎的详解
  3. BMDZ-4型PVDF薄膜电阻综合测试测试仪
  4. 检测软键盘的弹起与隐藏【绝对经典,好用】
  5. 修改mysql端口号
  6. 一个分析飞信的牛人网站
  7. 智能汽车供应链的“新主角”
  8. 集 成 运 算 同 相放大器和反 向放大器的选择
  9. 证书链校验 与 证书合并
  10. cv2.waitKey的入门级理解