`
隗合山
  • 浏览: 19047 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA与VB通过SOCKET通讯

阅读更多

 在做项目的过程中,本来是想使用JAVA的comm.jar工具实现串口通讯,不知道怎么回事,总是取不到电脑的串口。所以,改为现在的这种模式:java通过socket给vb程序发送指令,然后VB程序通过comm部件给串口发送指令。效果不错。

程序服务端使用VB实现:

  代码:

Private lngWSKIndex As Long
Private Sub Form_Load()
   lvRecord.ColumnHeaders.Clear
   lvRecord.ColumnHeaders.Add , , "ID", lvRecord.Width / 15
   lvRecord.ColumnHeaders.Add , , "客户端序列号", lvRecord.Width / 4
   lvRecord.ColumnHeaders.Add , , "内容", lvRecord.Width
   lvRecord.ListItems.Clear
   wskServer(0).LocalPort = 9999
   wskServer(0).Listen
   lngWSKIndex = 0
   If MSComm1.PortOpen = True Then
   MSComm1.PortOpen = False
     Else
     End If
MSComm1.CommPort = 1
MSComm1.Settings = "9600,n,8,1"
MSComm1.PortOpen = True
  
End Sub

Private Sub wskServer_Close(Index As Integer)
 
  If Index = 0 Then Exit Sub
  
  '关闭客户端对应的应答Socket
   Close #Index
  
   '卸载自动加载控件,节省资源
   Unload wskServer(Index)
End Sub

'服务器端接收到连接请求
Private Sub wskServer_ConnectionRequest(Index As Integer, ByVal requestID As Long)
   lngWSKIndex = lngWSKIndex + 1                     '连接号自动加1
   Load wskServer(lngWSKIndex)                       '加载客户端连接请求对应的应答Socket
   wskServer(lngWSKIndex).Accept requestID           '允许连接
End Sub

Private Sub wskServer_DataArrival(Index As Integer, ByVal bytesTotal As Long)
    Dim strGetData As String
    Dim nCount As Integer
    Dim i As Integer
   
    wskServer(Index).GetData strGetData, vbString
    nCount = lvRecord.ListItems.Count
    nCount = nCount + 1
    If strGetData = "1=1" Then
    lvRecord.ListItems.Add , , nCount
    lvRecord.ListItems(nCount).ListSubItems.Add , , "接收到第" & Index & "个警报"
    lvRecord.ListItems(nCount).ListSubItems.Add , , "未结账通过"
    End If                                                      '只对接收到的客户端发送命令
       ' wskServer(Index).SendData "信息:" & strGetData & "已收到!"
        Dim Temp(0) As Byte
        Dim strBuff As String
        strBuff = strGetData
        MSComm1.Output = strBuff
   
End Sub

 

需要添加Winsock部件和MSComm部件

程序的客户端JAVA代码

 

package com;

import java.io.*;
import java.net.*;

public class Socket_t {

public static void main(String args[]){ 
 try {
  Socket_t.SendData("1=1");
  Thread.sleep(10000L);
  Socket_t.SendData("1=0");
 } catch (InterruptedException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 
}

public static void  SendData(String data){
  try{
         Socket socket=new Socket("127.0.0.1",9999);
         BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
         PrintWriter os=new PrintWriter(socket.getOutputStream());
         BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
            os.write(data);
          
            os.flush();
            os.close(); //关闭Socket输出流
           socket.close(); //关闭Socket
         }catch(Exception e){
          e.printStackTrace();
         }
}
}

分享到:
评论

相关推荐

    VB与javaSOCKE通讯

    标题中的“VB与Java SOCKE通讯”指的是使用Visual Basic(VB)作为客户端,与使用Java编写的服务器进行网络通信的一种技术。在这个场景中,VB和Java通过Socket接口进行通信,Socket是TCP/IP协议的一部分,允许应用...

    VB与JAVA的SOCKE通讯

    标题中的“VB与JAVA的SOCKE通讯”指的是在Visual Basic (VB) 和Java之间建立Socket通信的过程。Socket编程是网络编程的基础,它允许两个或多个应用通过TCP/IP协议进行数据交换。VB和Java作为两种不同的编程语言,都...

    windows——socket通讯.zip

    这个“windows——socket通讯.zip”文件显然包含了关于如何在Windows平台上使用Socket进行UDP和TCP通信的示例代码。让我们深入探讨一下Windows Socket编程的基础知识,以及UDP和TCP这两种传输协议的特点。 首先,...

    java源码包---java 源码 大量 实例

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    欧姆龙以太网通讯TCP_UDP例子及欧姆龙PLC程序例子说明.zip

    本资料包"欧姆龙以太网通讯TCP_UDP例子及欧姆龙PLC程序例子说明.zip"提供了关于如何实现欧姆龙PLC与外部设备通过TCP/IP和UDP/IP进行通信的实例和详细说明,对于理解欧姆龙PLC的网络通信功能极具价值。 首先,TCP...

    利用流式Socket编程实现Windows与Linux的通信.pdf

    流式Socket是一种通过标准的UNIX文件描述符和其他程序通讯的一种方法,提供可靠的、面向连接的通信流,使用TCP协议,保证数据传输的正确性和顺序性。 在工业控制系统中,采用流式Socket编程可以实现Windows与Linux...

    用VB6.0开发的TCP服务器+客户端,适合新手学习

    在VB6.0中,这可以通过创建一个Socket对象,设置其属性(如IP地址和端口号),然后调用Connect方法来实现。 2. **数据传输**:连接建立后,双方可以开始数据交换。VB6.0中的Socket对象提供了SendData和ReceiveData...

    Socket客户端

    - 即时通讯:如聊天应用,客户端通过Socket保持与服务器的连接,实现实时的消息收发。 - 网页浏览:浏览器作为HTTP/HTTPS客户端,通过Socket与服务器交互,请求并接收网页内容。 理解并熟练掌握Socket客户端编程...

    thrift通讯的例子

    Thrift是一种开源的跨语言服务开发框架,由Facebook于2007年设计并发布,...通过学习和实践"Thrift通讯的例子",我们可以深入理解Thrift的工作原理,并掌握如何在实际项目中应用Thrift来构建高效、可扩展的微服务架构。

    java源码包3

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包2

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java...

    java源码包4

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java...

    java聊天系统代码.doc.pdf

    根据提供的文件信息,文档...涉及到的关键词包括Java、网络编程、C/S架构、Socket通信、多线程编程、即时通讯工具、服务器与客户端的设计等。对于熟悉Java网络编程的开发者来说,这些知识点是构建网络应用系统的基础。

    WebSocket客户端和服务端实例源码

    基于 Flash,AdobeFlash 通过自己的 Socket 实现完成数据交换,再利用 Flash 暴露出相应的接口为 JavaScript 调用,从而达到实时传输目的。此方式比轮询要高效,且因为 Flash 安装率高,应用场景比较广泛,但在移动...

    用java实现分布式热处理炉温群控系统.pdf

    在工业自动化领域,利用Java来开发热处理炉温群控系统,可以实现传统工业控制语言(如C、C++、Delphi、VB等)无法提供的网络功能,且Java对硬件控制也有很好的支持。 系统需求分析是开发分布式系统的首要步骤。在此...

    .NET与flex的通讯方式

    Socket 提供了一种低级别的网络通信机制,允许 Flex 客户端与使用各种编程语言(如 C++, VB, C#, Java)开发的服务器端进行双向通信。 在 Flex 中,ActionScript 3.0 提供了 XMLSocket 类来实现 Socket 连接。...

    绘制波形图,随时间向前不断移动

    VB可以通过串行通信、TCP/IP协议或其他接口与这些设备或系统进行交互,获取实时数据。 通讯部分可能涉及到多种协议,如RS-232,Ethernet,Wi-Fi,蓝牙等,用于设备间的数据传输。VB有内置的SerialPort类可以处理...

    ASP|ASP.NET|JSP|PHP都可以使用的在线客服源码

    PHP在线客服源码可能使用了如PDO或mysqli等扩展进行数据库操作,以及socket通信技术实现即时通讯。通过调整PHP源码,你可以将自己的客服系统无缝接入到PHP网站中。 此在线客服源码集成了QQ、MSN等常见的即时通讯...

Global site tag (gtag.js) - Google Analytics