- 浏览: 716722 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (389)
- flex (150)
- java (55)
- flex_sharedObject (4)
- iphone/android (7)
- red5 (4)
- blazeds (19)
- ajax (3)
- flex&java (9)
- 聊天室 (2)
- flex的问题 (1)
- game (8)
- flex_xml (1)
- flex组件学习 (2)
- JGroups (1)
- 中转站 (2)
- ruby (7)
- flex_js (5)
- C/C++ (14)
- perl (2)
- db (13)
- air (10)
- hibernate (8)
- flash_flex_as_3d (2)
- struts (4)
- dwr (8)
- freemarker (2)
- AS (22)
- 工具 (6)
- js_jquery_ext_yui (4)
- .net (1)
- C# (1)
- 前端 (1)
最新评论
-
136900923:
您好,您的代码我不是很懂,我想跟您交流一下,我的qq邮箱:13 ...
hibernate做无限极菜单树如此简单 -
fykyx521:
两个同一个功能
flex_flush_Socket 安全沙箱解决 -
ustb:
你上下两个代码类之间没关系
flex_flush_Socket 安全沙箱解决 -
u010656335:
...
flex发送QQ表情 -
u010656335:
flex发送QQ表情
NetConnection 是发送的异步http请求, 内部通过RemotingClient来访问远程,我把RemotingClient Copy过来,改成同步http.
using System; using System.Collections.Generic; using System.Collections; using System.Net; using System.IO; using FluorineFx; using FluorineFx.IO; using FluorineFx.AMF3; using FluorineFx.Exceptions; using FluorineFx.Messaging.Messages; using FluorineFx.Messaging.Api; using FluorineFx.Messaging.Api.Service; using FluorineFx.Messaging.Rtmp.Event; using FluorineFx.Messaging.Rtmp.Service; namespace netcalljava { class RemoteService { public static Object Call(string endpoint, string destination, string source, string operation, params object[] arguments) { Object result = null; try { Uri uri = new Uri("http://localhost:8080/messagebroker/amf"); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); request.ContentType = "application/x-amf"; request.Method = "POST"; AMFMessage amfMessage = new AMFMessage((ushort)ObjectEncoding.AMF3); RemotingMessage remotingMessage = new RemotingMessage(); remotingMessage.clientId = Guid.NewGuid().ToString("D"); remotingMessage.destination = destination; remotingMessage.messageId = Guid.NewGuid().ToString("D"); remotingMessage.timestamp = 0; remotingMessage.timeToLive = 0; remotingMessage.SetHeader(MessageBase.EndpointHeader, endpoint); // if (_netConnection.ClientId == null) remotingMessage.SetHeader(MessageBase.FlexClientIdHeader, "nil"); // else // remotingMessage.SetHeader(MessageBase.FlexClientIdHeader, _netConnection.ClientId); //Service stuff remotingMessage.source = source; remotingMessage.operation = operation; remotingMessage.body = arguments; AMFBody amfBody = new AMFBody(null, null, new object[] { remotingMessage }); amfMessage.AddBody(amfBody); Stream requestStream = request.GetRequestStream(); AMFSerializer amfSerializer = new AMFSerializer(requestStream); amfSerializer.WriteMessage(amfMessage); amfSerializer.Flush(); amfSerializer.Close(); WebResponse webResponse = request.GetResponse(); if (webResponse == null) { throw new Exception(); } Stream responseStream = webResponse.GetResponseStream(); if (responseStream == null) { throw new Exception(); } AMFDeserializer amfDeserializer = new AMFDeserializer(responseStream); AMFMessage responseMessage = amfDeserializer.ReadAMFMessage(); AMFBody responseBody = responseMessage.GetBodyAt(0); for (int i = 0; i < responseMessage.HeaderCount; i++) { AMFHeader header = responseMessage.GetHeaderAt(i); //if (header.Name == AMFHeader.RequestPersistentHeader) // _netConnection.AddHeader(header.Name, header.MustUnderstand, header.Content); } Object obj = responseBody.Content; if (obj is ErrorMessage) { throw new Exception(); } if (obj is AcknowledgeMessage) { result = ((AcknowledgeMessage)obj).body; } // PendingCall call = new PendingCall(source, operation, arguments); // RequestData requestData = new RequestData(request, amfMessage, call, callback); // request.BeginGetRequestStream(new AsyncCallback(this.BeginRequestFlexCall), requestData); } catch (Exception ex) { throw new Exception("get remote Error"); } return result; } } }
发表评论
-
java C#相互调用的全新方式
2010-05-08 02:53 3197原来就是flex 和C#通讯的框架fluorinefx ... -
BlazedsUtil 测试类
2009-12-01 18:47 829package cn.ishion.util; //很简单, ... -
blazes NetConnection.Call.BadVersion
2009-11-01 22:00 1600<mx:RemoteObject destination ... -
java amf压缩
2009-10-25 18:43 3357http://www.5uflash.com/flashjia ... -
java amf
2009-10-25 18:41 1281http://www.5uflash.com/flashjia ... -
spring-blazeds
2009-09-22 11:09 1066http://www.riameeting.com/node/ ... -
Netconnection连接blazeds
2009-09-11 18:13 1055package { import flash.event ... -
blzeds+hibernate+flex保存对象失败
2009-09-09 14:16 1747session.saveOrupdate(Object obj ... -
blazeds_Detected duplicate HTTP-based FlexSessions
2009-09-09 00:41 3586http://blog.sina.com.cn/s/blog_ ... -
blazeds-data-push-with-remote-objects
2009-07-01 19:10 1727http://codeofdoom.com/wordpress ... -
blazeds向客户端推送数据
2009-07-01 19:02 3260blazeds推送技术至Flex zz 转自http:// ... -
blazeds服务器给客户端发送消息
2009-07-01 18:57 1680private String clientID = UUIDU ... -
blazeds AMFConnection java client
2009-06-30 10:30 2310客户端 as AmFconnection http://aca ... -
flex _blazeds之动态配置message
2009-06-26 09:28 2056api说的继承这个就可以。基本是官方的例子 package ... -
flex调用java方法注意地方
2009-05-23 17:13 2881java代码中不能写重载的方法,否则flex不会调用,写不报错 ... -
blazeds在服务器端取得发送消息内容
2009-05-12 10:01 1901突发奇想看了下源代码,写了个简单的类,因为 messaging ... -
flex message suptopic filter使用subtopic过滤信息
2009-05-09 03:17 1484官方说明,看的真晕,谁有blazeds中文翻译麻烦给一份 I ... -
blazeds message filter 过滤消息——在聊天室的应用
2009-05-09 02:09 3823代码都是官方的,因为我在本地测试,所以得设置channelSe ...
相关推荐
Java通过JNI调用C# DLL是一个跨平台、跨语言的技术实践,主要应用于需要利用Java的稳定性和C#的高性能场景。JNI(Java Native Interface)是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。C# ...
本资源聚焦于一个具体的问题:如何在Java中调用C#编写的DLL(动态链接库)文件。下面将详细讲解这个过程,以及相关的知识点。 首先,我们需要了解DLL的本质。DLL是微软Windows操作系统中的一个重要组成部分,它封装...
- **运行时类型识别**: C#和Java都支持检查一个对象是否属于某个类的实例,但在具体操作符上略有不同。 4. **Namespaces** - **命名空间**: 两种语言都使用命名空间来组织类和避免命名冲突,但语法有所不同。 5...
- C#客户端创建`Socket`实例并调用`Connect()`方法,而Java服务器端创建`ServerSocket`实例,监听客户端的连接请求。 6. **实现简单通信**: - 简单通信通常涉及发送字符串或二进制数据。发送方将数据写入输出流...
总的来说,"C#调用ODI webservice"是一个涉及数据集成、Web服务和客户端应用开发的综合实践。通过掌握这些技术,开发者能够构建起跨平台、实时的数据交换解决方案,提升系统的灵活性和可扩展性。
由于它们之间的不兼容性,直接调用Java的类库在C#中是无法实现的。然而,有一种技术叫做IKVM.NET,它允许Java和.NET之间进行互操作。 IKVM.NET是一个开源项目,由Glenn Block创建,其目的是在.NET平台上实现Java...
C#代码应包含一个与Java本地方法相对应的静态方法,并通过P/Invoke(Platform Invoke)来调用Java的方法。P/Invoke是.NET框架的一部分,用于调用非托管代码,即C++、C或本例中的JNI函数。 ```csharp using System; ...
这里,`MyResponseObject`是自定义的Java类,它的属性对应于Web Service返回的JSON结构。 在Android应用中,还需要处理网络权限,确保在AndroidManifest.xml中添加了`INTERNET`权限: ```xml ``` 在提供的压缩包...
4. **多线程**:Thread类、Runnable接口,同步机制(synchronized、Lock)。 5. **IO流**:文件读写,网络通信,NIO(New IO)框架。 6. **反射**:运行时动态加载类和调用方法。 7. **异常处理**:异常分类,抛出和...
在医疗信息化领域,医保接口的调用尤为重要,它涉及到患者医保信息的实时同步与处理,确保医疗服务的高效进行。本文将详细解析"yh_interface.dll"这一医保调用DLL在开发中的应用。 "yh_interface.dll"是一个专门...
本教程将深入探讨如何利用C#和Java语言进行金蝶K3Cloud接口的开发,以及如何进行生产订单的同步和入库操作。 1. **金蝶云K3Cloud接口基础** - **API概述**:金蝶K3Cloud API提供了丰富的服务,包括但不限于数据...
JVM4CSharp提供了一个中间层,使得C#程序可以透明地调用Java的类库,就像调用本地.NET组件一样,从而实现了C#和Java之间的无缝集成。 JVM4CSharp的工作原理如下: 1. **启动Java虚拟机(JVM)**:C#程序需要首先...
泛微Ecology9.0平台提供了Java源码推送接口,允许开发者通过Java代码调用该接口,实现消息的推送和处理。该接口提供了发送消息、修改消息业务状态和删除消息等功能,满足业务系统的需求。 三、 通过HTTP接口推送...
3. **接口调用**:使用Java的HTTP客户端库(如HttpURLConnection或Apache HttpClient)发起HTTP请求,向企业微信API发送同步请求,携带整理好的数据。 4. **错误处理与重试机制**:调用API时可能会遇到网络问题或...
3. **生成代码**: 当我们在Android Studio中添加了AIDL文件后,编译过程会自动生成对应的Java接口和实现类,便于我们在客户端和服务端使用。 ### 二、使用步骤 1. **创建AIDL文件**: 在Android Studio中,创建一个...
6. **多线程**:Java支持多线程编程,理解线程的生命周期、同步机制(如synchronized关键字,Lock接口)以及并发工具类(如ExecutorService,Semaphore等)。 7. **反射机制**:通过反射,可以在运行时动态地获取类...
Java操作COM组件是一种技术,允许Java应用程序与由C++或C#等其他语言开发的COM(Component Object Model)组件进行交互。这种交互性是通过中间库实现的,比如JACOB(Java-COM Bridge),它为Java提供了调用COM对象的...
Android提供了SqliteOpenHelper类,加入Java的锁机制以便调用。但在C#中未提供类似功能。 作者利用读写锁(ReaderWriterLock),达到了多线程安全访问的目标。 using System; using System.Collections.Generic; ...