ASP.NET网站程序如何跟VC6开发的Win32程序通讯,互相传递数据?

lijinyan3000 2009-04-21 11:38:00
本人水平较菜,希望大家指点一下.对C#和做网站不太懂.

我的程序一直都是采用vc6开发的win32程序,C/S架构,
但是现在要求用B/S架构,在任意电脑上可以通过浏览器实现对服务器端的管理功能,
我的想法是系统的主体不变,在服务器端加一个B/S架构,也就是一个ASP.net的网站上去,实现管理功能.

我以前和C#开发的应用程序通过互相SendMessage的方式,传递一些数据.从而实现协同工作.

现在的话对于ASP.NET网站的,话是不是也可以采用SendMessage的方式呢?
或者各位高手有更好的提议?

希望能给一些提示性的代码,或者能提供一个实现了类似功能的实力程序就更好了.
...全文
199 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
1、浏览器客户端,每隔n分钟自动刷新一次,实现浏览器客户端数据的更新.

浏览器获取的数据从哪里?根据我的理解,应该是从VC服务端程序接收对吗?那么好,asp.net调用vc服务端程序,这涉及了平台调用。

2、也就是说,客户通过浏览器进行的操作要实时的通知VC服务端

客户端发送的数据,通过asp.net发送到vc服务端程序,还要是涉及平台调用。

所以,这就回来原来的话题了。
我23号的答复,是基于你不想做平台调用这样的事实来答复的。

另外:你说每隔n分钟自动刷新一次,这个应该不是什么难题。
可以使用asp.net ajax框架实现,比较省力。
lijinyan3000 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 truelove12 的回复:]
我的理解是:

携带GPS设备的终端采集GPS经纬度,通过TCP或UDP发送到指定服务器的端口上,VC6开发的服务器端程序监听指定端口,将接收到的经纬度保存到数据库?

如果我的理解没有错的话。

我的看法是:
使用Asp.net采用socket也来监听那个端口号。。实际上是将vc6做的功能,直接用asp.net来做一遍了。

不过,这样以后维护起来比较麻烦,一但逻辑有所修改,vc6、asp.net的都要修改。
[/Quote]

这种思路我也有过,其实虽然我对C# .Net ASP.NET了解不多,但是VC6能实现的功能,Asp.net肯定都能实现的.

但是用asp.net重新做一遍,第一,以我目前.net的水平,我做不出来.第二,时间上不允许.第三,是某种意义上的重复劳动.

现在也拖了几天,我的思路基本上打算定了:
ASP.NET这边:浏览器客户端,每隔n分钟自动刷新一次,实现浏览器客户端数据的更新.还要实现可以手动刷新.
这里最关键的是,客户通过浏览器端进行了一些操作之后,GPS客户端要能立即响应.
比如是用户通过浏览器发送了一条消息给某个GPS客户端,要求能立即收到,不要等个30秒才有反应,
GPS客户端才有
反应.也就是说,客户通过浏览器进行的操作要实时的通知VC服务端.(目前还不知道怎么实现,但是
应该能找到解决方法.)
VC服务端: 响应ASP.NET的通知,比如说消息,实现相关功能.
  • 打赏
  • 举报
回复
楼主可以谈谈vc6写的通讯程序的主要功能吗?这样才可以做有征对性的分析。
我感觉你做的应该是一个工业应用。
LGP88864237 2009-04-23
  • 打赏
  • 举报
回复
用Webserver就可以避免你的VC做的客户端多用户和数据库的连接占很多,你客户端调用Webserver就只有一条连接池。
duanjiwei 2009-04-23
  • 打赏
  • 举报
回复
Web Service 数据孤岛有了希望
  • 打赏
  • 举报
回复
我的理解是:

携带GPS设备的终端采集GPS经纬度,通过TCP或UDP发送到指定服务器的端口上,VC6开发的服务器端程序监听指定端口,将接收到的经纬度保存到数据库?

如果我的理解没有错的话。

我的看法是:
使用Asp.net采用socket也来监听那个端口号。。实际上是将vc6做的功能,直接用asp.net来做一遍了。

不过,这样以后维护起来比较麻烦,一但逻辑有所修改,vc6、asp.net的都要修改。

lijinyan3000 2009-04-23
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 truelove12 的回复:]
楼主可以谈谈vc6写的通讯程序的主要功能吗?这样才可以做有征对性的分析。
我感觉你做的应该是一个工业应用。
[/Quote]
多谢关注,那我简单说说吧.

GPS客户端:WinCE平台下Win32开发,从GPS模块中获取当前位置,通过TCP或UDP上传数据到服务器,用户还可以收发信息,走TCP或UDP.

服务器端:VC6开发的Win32程序,通过TCP或UDP和GPS客户端通信,保存GPS的经纬度信息,还有收发短信息.

ASP.NET:由于服务器是托管的,要远程进行日常管理,所以要采用B/S架构.
  • 打赏
  • 举报
回复
我的理解是:

你已经有一个通讯程序是用vc6写的。你想使用原有的通讯程序中的功能,不想重写这部分代码。
只是想用另一种结构(bs)去实现原系统的功能?

如果是这样,你可以考虑使用平台调用,对于你的这种情况,应该是使用托管代码(C#)调用非托管代码(vc6)

个人看法,平台调用要求开发者熟悉需要互调用的两种语言。。

具体做法,你可以用.net去创一个类库,封装调用vc6的方法。

然后asp.net去直接调用。
ximizhi 2009-04-22
  • 打赏
  • 举报
回复
呵呵~ 学习下~~
lijinyan3000 2009-04-22
  • 打赏
  • 举报
回复
Web Service?
不知道是不是我对Web Service理解不够深入.
我的理解是一个简单的Web Service,用VS开发好后,然后运行
然后再开发window应用程序客户端或者是asp.net网站客户端,这两种形式的客户端去调用Web Service,从而实现相关功能.

而我的情况是我的ASP.net网站和我的系统的服务端,是运行在同一台的服务器上的.好像不需要引入Web Service吧.

我现在想到的唯一方法是:互发SendMessage,

不知道能不能提供更好的方法?
lijinyan3000 2009-04-22
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 truelove12 的回复:]
我的理解是:

你已经有一个通讯程序是用vc6写的。你想使用原有的通讯程序中的功能,不想重写这部分代码。
只是想用另一种结构(bs)去实现原系统的功能?

如果是这样,你可以考虑使用平台调用,对于你的这种情况,应该是使用托管代码(C#)调用非托管代码(vc6)

个人看法,平台调用要求开发者熟悉需要互调用的两种语言。。

具体做法,你可以用.net去创一个类库,封装调用vc6的方法。

然后asp.net去直接调用。
[/Quote]
[Quote=引用 12 楼 Lxpd 的回复:]
dllimport
[/Quote]
看了两位的指点之后,用google搜了下"C# 平台调用" 和"dllimport",了解了大概是怎么回事,
但是目前主要困难在在于我对C#以及.Net的开发很不熟悉,充其量只能用ASP.NET开发个小网站,用C#做一些简单的小程序,恐怕短期内对"C#的平台调用"和"dllimport"无法掌握.
现在又想了一个方法,就是采用数据库作为中间的桥梁,新建一个数据库,然后把ASP.NET和VC程序需要共享的数据放到数据库中,双方都访问数据库,从而达到数据的交流的作用.
这种做法的弊端一:VC端需要不停的访问数据库,查询数据有没有改变.........
弊端二:ASP.NET也需要不停的访问数据库,查询数据有没有改变....
这样感觉很不爽啊!!......
Garnett_KG 2009-04-22
  • 打赏
  • 举报
回复
其实不用多复杂.你以前开发的C#代码可以提取出来,包成DLL,然後在ASP.NET上直接调用就行了。
gongsun 2009-04-22
  • 打赏
  • 举报
回复
up
悔说话的哑巴 2009-04-22
  • 打赏
  • 举报
回复
WebService和数据传递信息都可以喽....
love_幸运儿 2009-04-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wonsoft 的回复:]
楼上的思路可以
引用 2 楼 jiangsheng 的回复:
用WebService吧。

当然你也可以通过数据传递信息来实现。
[/Quote]
WebService和数据传递信息都可以喽....
jscn123789abc 2009-04-22
  • 打赏
  • 举报
回复
ding...
wonsoft 2009-04-22
  • 打赏
  • 举报
回复
楼上的思路可以
[Quote=引用 2 楼 jiangsheng 的回复:]
用WebService吧。
[/Quote]
当然你也可以通过数据传递信息来实现。
蒋晟 版主 2009-04-22
  • 打赏
  • 举报
回复
用WebService吧。
Lxpd 2009-04-22
  • 打赏
  • 举报
回复
dllimport
newredhat2 2009-04-21
  • 打赏
  • 举报
回复
同求
.................

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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