日期:2014-05-16  浏览次数:20861 次

要做一个接口,让调用方能够远程与服务进行数据交互
现在已经有一个服务,
需要提供一个接口给第三方调用,能够远程访问服务,实现数据交互
接口主要的功能就是如下两点:
1数据上传,由第三方发起
2数据下发,由服务发起

最重要的是,提供的这个接口,得是多种语言都能比较方便的调用的,不限于C#,可能会有java,c++,delphi等

起先想用webservice,因为它对调用的语言限制很小,但是WebService一般无法通过服务发起事件。
之后的想法是在将Socket连接封装成动态链接库dll接口,在接口里面引入回调函数,这种方法通过C#来调用的话确实能实现回调。
但是估计用其他语言来调用,又是够呛。

谷歌、百度看得自己都有点晕了,也有一些跨语言调用dll中回调函数的例子,但是都不是随随便便就能调用的。

实在没辙了,只能上来求助,还望高人指点

------解决方案--------------------
这个接口可以做成webservice,返回xml或者json类型的字符串,这样任何 语言的程序都可以识别
------解决方案--------------------
两边都是web service.
------解决方案--------------------
引用:
是啊,要是服务端客户端都是弄的话,那真是随便怎么搞了。

关键问题是,客户端不是自己弄,只能做个客户端接口,要等第三方来调用接口实现客户端,而且由于会有越来越多的第三方接入进来,个么就得考虑支持尽量多的语言
如果不想定时轮询,那就必须使用长连接了,其实简单的长连接实现就是让它在一个线程里循环调用你的函数,而你不返回(如果不支持异步就同步阻塞在那里),直到你有数据下发的时候在解除这个阻塞让它返回数据。如果不用处理攻击,超时可以设置大一点,防止长时间阻塞连接断掉。