请教:如何实现WebService与Socket通信

he_hawk 2010-03-18 10:47:30
因业务需要WebService发送一个消息,然后 一个 Winform进程可以获得这个消息,Winform就可以再进行其他处理,如果处理Socke传输

Winform进程也可以是一个服务了,总之是一个在客户端独立运行的进程.
...全文
1601 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyyyyyrr 2010-10-14
  • 打赏
  • 举报
回复
学习一下。
lxzhaogd 2010-07-01
  • 打赏
  • 举报
回复
用WCF或ICE应该可以实现
tjficcbw 2010-03-20
  • 打赏
  • 举报
回复
调WebService 运行服务器程序加参数
he_hawk 2010-03-20
  • 打赏
  • 举报
回复
to tjficcbw:
“换个想法,不用侦听,而是客户端发一个信息,求服务器反馈,这样比较好”?
怎么直接发信息呢?
再如何反馈?
he_hawk 2010-03-20
  • 打赏
  • 举报
回复
现在成功实验,WebService写消息队列,
然后写一个服务程序定时读取一下消息队列。
这样能实现Web发送消息给服务程序。

怎么实现服务程序运行结果反馈到Web端呢?

一个想法是Web调用WebService时,用异步方式,Windows服务程序处理完后再调用一个WebService,然后将结果反馈到Web调用端。

具体代码怎么实现呢?
请高手给些参考资料。好久不写代码,代码生疏。。
myrroom 2010-03-20
  • 打赏
  • 举报
回复
WebService的操作只接收拉的模式
不接受推得模式,你可以试下,仿照Pet Shop 4.0的消息模式来做下,具体的你看看Pet Shop的介绍文章吧
tjficcbw 2010-03-19
  • 打赏
  • 举报
回复
同步地图数据的服务是一个独立运行在Windows系统中的程序。这个程序如何侦听(或监测)到WebService过来的消息。? 这是我想寻求的技术难点。

换个想法,不用侦听,而是客户端发一个信息,求服务器反馈,这样比较好
he_hawk 2010-03-19
  • 打赏
  • 举报
回复
。。。。


不应该是不可以通信,只是没找到合适的桥梁
Carpathia 2010-03-19
  • 打赏
  • 举报
回复
你完全没有理解这2个通讯的原理,这两种通讯方式是完全不同的方式,WS是属于短连接,而socket是可以长连接的,这样的通讯有什么可构造的,你既然要用到socket ,就纯用SOCKET好了,为什么要搞那么复杂
he_hawk 2010-03-19
  • 打赏
  • 举报
回复
客户端程序是相对于web程序的说法。

这个客户端程序可以是一个服务,就部署在服务器,可以与WebService在同一个服务器上。

真正应用可以是:从浏览器点击一个按钮,按钮调用一个WebService同步自己的业务数据,同时调用一个WebSerivce触发同步地图数据的“服务”。

同步地图数据的服务是一个独立运行在Windows系统中的程序。这个程序如何侦听(或监测)到WebService过来的消息。? 这是我想寻求的技术难点。


kwork 2010-03-18
  • 打赏
  • 举报
回复
这事复杂的,webservice要主动发送socket消息?可以实现,不过需要确认你的winform程序上面有socket端口打开么,监听的是tcp还是udp?还是winform在内网,无法有listen某个端口?那么就让winform主动询问webserivce,然后协商进行tcp链接,你能把使用场景说清楚下吗?比如,你的winform程序的socket通信很频繁,用http方式效率太低?要不,不好帮你设计你要的东西。
dream_ll 2010-03-18
  • 打赏
  • 举报
回复
帮你顶下......
chichenzhe 2010-03-18
  • 打赏
  • 举报
回复
原谅我的看帖不仔细,没看见你让客户端侦听webservice 请求...
=================
客户端的概念就是客户端。 你让他侦听来自webservice 的请求 这样你觉得合适吗?这样做不符合开发逻辑也不符合技术常理。

如果你说:我们需求就是这样。 那其实你可以换技术实现。
比如 建立webservice 服务端。

这样的话,客户端是不是个socket程序就无所谓了,发送一个请求即可。



特别安静 2010-03-18
  • 打赏
  • 举报
回复
我做webservices只会在客户端到服务器上请求信息,要服务器主动发信息到客户端还真的不会
楼主搞定后一定分享下经验啦
chichenzhe 2010-03-18
  • 打赏
  • 举报
回复
WebService -基于- HTTP -基于- TCP
而socket是TCP的应用。

socket开发的东西可以很简单的兼容所有HTTP请求:包括长/短连接。

而HTTP是短连接的。

所以socket应用程序需要做调整,改一下解析包文的处理机制即可。WebService 只不过是些xml格式的报文,也叫soap.

对于精通网络编程(socket)的人来说这一点都不难,希望你能找到开发这个socket程序的人 让他修改一下代码即可。
he_hawk 2010-03-18
  • 打赏
  • 举报
回复
就是web页面如何给 服务器上的一个windows窗体一个消息(如写一个字符到文本框)。

WEB页面可以调用任何可以调用的东西。怎么调用请大家给些参考
Seaman Yi 2010-03-18
  • 打赏
  • 举报
回复
没看明白?帮忙顶个
he_hawk 2010-03-18
  • 打赏
  • 举报
回复
场景:
WEB业务要将数据同步到上级单位,WEB页面上点击上传按钮,业务数据开始上传。

然后我要将地图数据也上传到上级单位,地图数据上传采用Windows服务的方式一直在运行,接收到需要上传数据的消息后,就开始上传数据。这样做是为了保持业务数据与地图数据实时同步上传到上级单位。


数据上传的方案可能是socket方式,也可能采用地图平台(arcgis)的版本管理来实现数据同步。
现在要实现Web消息如何给Windows的一个进程。不停查询数据库来得到消息的方式肯定是不行。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧