最近我在想异构平台通信的问题。比如我在A机器WINDOWS XP上用VS2008的C#写了一个向B机器发送字符串“Hello world!”,B机器是LINUX,我用Java在B机器的ECLIPSE上写了一个接收上述字符串的程序,可是第一.两台机器硬件是异构的;第二.两台机器操作系统是异构的;第三.两台机器所用的开发语言和开发平台也不一样,如果B机器JAVA程序能读取成功的话,那么A机器上的“Hello world!”是怎么被B机器的JAVA程序识别的?
解决方案 »
- c#调用delphi dll 参数传递问题
- 为什么不能运行
- c#如何调用EXCEL宏
- 请教picturebox不显示的问题
- ◥◣紧急求助◢◤ 关于Application Block的问题。
- 在 WinFrm 中怎样把 DataGrid 中显示的最后的空白行去掉呢。
- 对EXCLE进行操作~出现语法问题!!求解
- 调试周立功USBCAN提示“尝试读取或写入受保护的内存”错误
- 请问C#怎么调用DLL呀
- 在Windows应用的安装过程中如何才能访问到用户所选择的安装路径?
- 求助:VS 2008需要下载Internet Explore WebControl软件包?
- 这个问题你应该很感兴趣:(HTTP/FTP)下载一个流后,如何将其保存在内存当中?
1.无论什么语言通信的底层都是走的winsock2,这个标准是一样的。
2.基于一样的标准实现不同,但裸机对网络上的数据都是一比特的形式接收到网卡的,所以如果把你的通信数据字节化就能异构通信。
3.异构解析的问题就看你的封包协议怎么写,简单的封包比如你前8个字节用来存储包头,8个字节里的2字节标识操作类型什么的,后面的没个字节都代表特殊的含义等,后面是数据体,那么基于1标准的winsock,标准的裸机比特流,那么异构通信所要关注的就是封包协议的解析问题,只要你要与之通信的异构体知道封包协议就会解除对应的数据然后处理。