Socket 实例之透析java,C#的互操作
2008-03-02 10:51
253 查看
java,c#编程语言编写的程序之间是可以互相操作的。用java写的Socket聊天功能的服务端和客户端之间,和用C#编写的Socket聊天功能的服务端和客户端之间是可以相互通信的。简单的说就是,把C#的服务端跑起来的话,用java的客户端同样可以和这个服务端通信。这个观点其实并不难理解,只是我们在使用编程语言的时候,一般都比较会被编程语言的API所限制。
我们知道在Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编 译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在Java中,这种供虚拟机理解的代码叫做 字节码(ByteCode),它不面向任何特定的处理器,只面向虚拟机。每一种平台的解释器是不同的,但是实现的虚拟机是相同的。Java源程序经过编译 器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。
也就是说,不管是什么语言最后都要转化为机器能够识别的机器码才能执行。从这点上,各编程语言之间的互操作就没什么障碍了。
我们知道在Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编 译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在Java中,这种供虚拟机理解的代码叫做 字节码(ByteCode),它不面向任何特定的处理器,只面向虚拟机。每一种平台的解释器是不同的,但是实现的虚拟机是相同的。Java源程序经过编译 器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。
也就是说,不管是什么语言最后都要转化为机器能够识别的机器码才能执行。从这点上,各编程语言之间的互操作就没什么障碍了。
相关文章推荐
- Socket 实例之透析java,C#的互操作
- 关于java Socket与C#通信编码问题小结
- java网络编程【2】 基于Socket的java网络编程(含实例)
- 基于Tcp&UDP协议的简单Socket通信实例(JAVA)
- C#中异步Socket通信编程代码实例
- java调用webAPI(C#)的实例
- C# Socket多线程编程实例
- Java实现Socket的TCP传输实例
- java和C#之间SOCKET通信的问题
- C#2.0 Socket套接字编程之实例初探
- Java中使用Socket发送Java对象实例
- java SSL安全socket的通讯实例
- 利用C#进行Socket通信编程之二:一个实例
- C# Socket多线程编程实例
- C# Socket实例
- java socket点对点以及点对面编程实例
- 经典java socket 长连接实例
- (java)socket全双工长连接通信实例
- C#中Socket多线程编程实例 [转载]
- c#与JAVA利用SOCKET实现异步通信的SanNiuSignal.DLL已开源