Java Windows上的PPP服务器
我们有一个解决方案,其中一些硬件连接到Win7机器上的COM端口,并与我们的Java应用程序交互。硬件希望使用PPP服务器通过TCP/IP透明地连接到其他服务器Java Windows上的PPP服务器,java,windows,tcp,ppp,Java,Windows,Tcp,Ppp,我们有一个解决方案,其中一些硬件连接到Win7机器上的COM端口,并与我们的Java应用程序交互。硬件希望使用PPP服务器通过TCP/IP透明地连接到其他服务器 有人对如何做到这一点有什么建议吗?是否从Java应用程序启动操作系统本机PPP服务器,并连接到COM端口?如何做到这一点?根据我找到的关于javax.comm的@hari评论,使用谷歌,这可能对您的目的很有用:本指南通过COM端口与TINI库建立PPP连接,与您希望的一样。您可能会惊讶地发现Win7仍然在本机上支持PPP 按照这些步骤(
有人对如何做到这一点有什么建议吗?是否从Java应用程序启动操作系统本机PPP服务器,并连接到COM端口?如何做到这一点?根据我找到的关于
javax.comm
的@hari评论,使用谷歌,这可能对您的目的很有用:本指南通过COM端口与TINI库建立PPP连接,与您希望的一样。您可能会惊讶地发现Win7仍然在本机上支持PPP
按照这些步骤(或类似的步骤)进行操作,你应该会做得很好。我从可能是Win98,可能是Win2k开始,就没有实际执行PPP连接,但步骤看起来非常类似于之前的步骤。这并不简单,但这些应该可以让你达到80%或90%(最后10-20%将是正常的头发拉扯刺激获得串行连接正确配置-有太多的选项涉及串行通信和PPP的第一次连接尝试的权利)
- 打开控制面板
- 选择“电话和调制解调器”。如果它询问您的位置,请键入任何您需要的信息,以使该对话框愉快(我认为它只需要您的区号,但可能不需要,或者其他内容-我们不使用它并不重要)
- 告诉它你想安装一个调制解调器,如果找不到,不要担心,你将从列表中选择一个
- 点击“添加”按钮,告诉它不要自动检测
- 在“(标准调制解调器类型)”下选择“两台计算机之间的通信电缆”
- 告诉它使用哪个串行端口
- 进入控制面板的“网络和共享中心”
- 单击“设置新连接或网络”
- 选择“设置拨号连接”
- 如果它询问您要使用哪种调制解调器,请选择您刚刚设置的“两台计算机之间的通信电缆调制解调器”(除非您的计算机中有实际的调制解调器,否则不应出现这种情况)
- 为“创建拨号连接”对话框提供一个伪造的电话号码,以便您继续。。。并给它一个你喜欢的连接名,而不是“拨号连接”
- 单击“连接”,它将尝试拨号。当然会失败的。单击“无论如何都要设置连接”
- 单击“网络和共享中心”控制面板中的“更改适配器设置”链接
- 右键单击刚刚创建的网络适配器(“拨号连接”或您指定的任何名称),然后选择“属性”
- 配置“两台计算机之间的通信电缆”(主要用于设置速度)。在其他选项卡中查找可能需要控制的各种其他选项。不要忘记在“网络”选项卡上配置可能需要的TCP/IPv4属性。如果您使用的是IPv6,请确保也配置了这些内容
一旦硬件设备建立到Win7 COM端口的PPP连接,Java应用程序应该能够通过PPP链路进行通信,就像它是一个常规网络适配器一样。祝你好运 这是一个使用VirtualBox的解决方案。我不知道如何在Win7上本机运行PPP服务器 pppd-ubuntuttys0-VirtualBox端口1-Win7-COM1-RS232-target的ppp客户端
- 检查:启用串行端口
- 端口号:COM1 IRQ:4 I/O端口:0x3F8
- 端口模式:主机设备
- 检查:连接到现有管道/插座
- 路径/地址:COM1
- sudo apt config安装ppp
- sudo-apt-get-install-ppp
- sudo stty-F/dev/ttyS0 raw
- sudo stty-F/dev/ttyS0-a
- sudo pppd/dev/ttyS0 115200 192.168.17.1:192.168.17.2 proxyarp本地noauth nodetach转储nocrtscts被动持久maxfail 0延迟1
nodetach#(从命令行)
延迟1#(从命令行)
persist#(从命令行)
maxfail 0#(从命令行)
转储#(从命令行)
noauth#(从命令行)
/dev/ttyS0#(从命令行)
115200#(从命令行)
锁定(来自/etc/ppp/options)
nocrtscts#(从命令行)
本地#(从命令行)
异步映射0#(来自/etc/ppp/options)
被动#(从命令行)
lcp回波故障4#(来自/etc/ppp/options)
lcp回波间隔30#(来自/etc/ppp/options)
隐藏密码(来自/etc/ppp/options)
proxyarp#(从命令行)
192.168.17.1:192.168.17.2#(从命令行)
noipx#(来自/etc/ppp/options)
使用接口ppp0
连接:ppp0/dev/ttyS0
无法确定代理ARP的以太网地址
本地IP地址192.168.17.1
远程IP地址192.168.17.2
您可以使用
javax.comm
像通信api一样从Java应用程序访问com端口。我在这里遗漏了一些东西,Java参与了这个过程吗?我想Java应用程序当然必须接受IP连接。windows只支持PPP客户端连接吗?如何在windows上创建PPP服务器?我的意思是在windows服务器上的pppd
,它将IP、DNS等提供给客户端PPP。