首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

用VB打包WINSCOK成DLL后,ASP无法发送信息?

2012-12-16 
用VB封装WINSCOK成DLL后,ASP无法发送信息????Option ExplicitPublic MSWSK As New MSWinsockLib.WinsockPu

用VB封装WINSCOK成DLL后,ASP无法发送信息????
Option Explicit

Public MSWSK As New MSWinsockLib.Winsock

Public Sub SayHello1()

 '  指定服务器主机名
   MSWSK.RemoteHost = "192.168.1.2"
    '  指定服务器端口名
   MSWSK.RemotePort = 2000
    '  连接到服务器
   MSWSK.Connect
End Sub


以上代码封装成 DLL 后运行,发现链接上后马上断开


ASP 代码:

Set MyTestObj = Server.CreateObject("mysock.Hello") 
MyTestObj.SayHello

end if




服务器端是VB程序




但是我直接将

 '  指定服务器主机名
   MSWSK.RemoteHost = "192.168.1.2"
    '  指定服务器端口名
   MSWSK.RemotePort = 2000
    '  连接到服务器
   MSWSK.Connect

放到VB上运行又是能够链接的,并且保持链接状态


[解决办法]
没人知道吗?顶下
[解决办法]
该回复于2011-11-14 10:46:27被版主删除
[解决办法]
估计是异步通讯与进程权限的问题所导致。
Winsock控件的通讯过程中,是通过创建一个窗口,并设置那个窗口可以接收网络消息,然后通过不停的判断那个窗口的消息来响应处理网络事件的。但是ASP是IIS的脚本程序,是由 SYSTEM 权限的 NT 服务程序根据站点设置的权限启用的服务进程。首先这种进程是没有交互的,而且权限可能也就是IIS组的权限,所以那个窗口有可能就收不到相应的消息或无权调用相关的API函数,自然整个过程就失败了。如果 IIS 站点的权限是SYSTEM 或管理员权限,或是允许交互,可能不会有这样的问题。还就就是服务器文件或目录权限问题,FAT12、FAT16、FAT32在这方面都没什么特别要设置的,但如果你的组件放在NTFS文件系统上,还要注意组件的文件或目录的安全是否设置好,不然同样会失败。
我曾经用 VC 开发过堵塞方式的组件,类似的过程是可以的,不过 VB 搞堵塞就不大合适了。建议采用现成的组件,如:XMLHTTP、JMAIL...尽量用现成的应用协议处理这种过程。
[解决办法]

引用:
估计是异步通讯与进程权限的问题所导致。
Winsock控件的通讯过程中,是通过创建一个窗口,并设置那个窗口可以接收网络消息,然后通过不停的判断那个窗口的消息来响应处理网络事件的。但是ASP是IIS的脚本程序,是由 SYSTEM 权限的 NT 服务程序根据站点设置的权限启用的服务进程。首先这种进程是没有交互的,而且权限可能也就是IIS组的权限,所以那个窗口有可能就收不到相应的消息或无权调用相关的A……



很感谢您的回复!
我对 XMLHTTP 一窍不通
我写这个东西主要想实现的是非常简单的!
说白了,虽然目前不能进行交流,但是,只要ASP页面发送过信息给端口就可以了,我只要保存下
浏览ASP页面客户的IP。这里大家可能会说,ASP本来就可以实现保存IP。问题是我要保存在另一个服务器上
而那个服务器不允许架设IIS 跟开 80端口!

目前我就先这样将就用下,不知道在并发多的情况下会不会崩溃掉!期待啊 !!!
[解决办法]
IIS又不是只能开80端口,你开别的端口也是可以的呀,你不会IIS也不会用吧?
还有,再简单的需求也是要有知识和技术支撑才能实现的,无论你用现成的组件或自己开发的组件,
没有可行的方案你还是走不通的,既然你在网上寻求帮助,别人告诉了你解决方案,
在你不了解是好是坏的情况下,你就应该去了解别人告诉你的东西,而不是老想着什么现成的不用
自己去学习的东西满足需求。如果你是抱着这种想法,最简单的就是花钱让别人帮你搞定,任何问
题你都不用处理,任何技术你都不用去花时间和精力去学习,只管验收就好了。
[解决办法]
在我看来,你的这种需求就用我上面说的方法我也就是5分钟就能解决的事情,因为我了解,但如果
是不了解的情况,又一直不愿意去学习和理解,一辈子搞不定的可能都有。建议你先端正自己的态度,
最起码搞清楚是自己是以学习技术还是利用技术赚钱。如果是学习技术,就不要想着向简单的走,因
为技术是越走越复杂,不可能越走越简单。之所以走得简单,是因为越走越滑坡的表现,或者是开始
脱离这个行业的表现。
如果你只是想用技术赚钱,最好不要涉足技术这个行业,花钱请人帮你搞就好了,因为搞技术和运营
管理以及销售上,是有一些地方要求冲突的,真的适应了搞技术的心态和水平,在另外一方面肯定有
所缺失,即使你是万能的,这种情况也是不能避免的。先定好位再行动这才不会盲目,也不会走弯路。
[解决办法]
从没想过这样来让asp通过winsock通讯.....楼主有创意.不过如果仅仅是要让asp从winsock发信息的话不难,但要想收的话恐怕就不易了。毕竟是脚本事件触发上有点不好搞.以前我用vb封装dll给asp做过ping功能没有问题
[解决办法]
引用:
IIS又不是只能开80端口,你开别的端口也是可以的呀,你不会IIS也不会用吧?
还有,再简单的需求也是要有知识和技术支撑才能实现的,无论你用现成的组件或自己开发的组件,
没有可行的方案你还是走不通的,既然你在网上寻求帮助,别人告诉了你解决方案,


在你不了解是好是坏的情况下,你就应该去了解别人告诉你的东西,而不是老想着什么现成的不用
自己去学习的东西满足需求。如果你是抱着这种想法,最简单的就……



我上面已经说过谢谢了
如果你觉得你技术很强大的话,我真的想象不到,你能强大到何种地步!
我既然已经说过另个服务器上不能架设WEB服务器了,你还非要找字眼说IIS不需要开80端口,难道这样就能体现你技术的高超?难道你自己不会想下,如果2台服务器都能架设WEB服务器的话,那为什么要先从A服务器再走到B服务器转一圈呢?或许你能找出理由来吧!
再者,我不需要你来教训我该如何端正自己,一来,你没有这资格,二来,像你这种盲目对人或对事乱下决定的人难成大事,也许只会纸上谈兵而已!请绕下道吧!!!






[解决办法]
引用:
从没想过这样来让asp通过winsock通讯.....楼主有创意.不过如果仅仅是要让asp从winsock发信息的话不难,但要想收的话恐怕就不易了。毕竟是脚本事件触发上有点不好搞.以前我用vb封装dll给asp做过ping功能没有问题



我要实现的只需要WEB发送信息给VB应用程序,实际上只要ASP一连接指定端口就OK了,不需要建立连接等待回传什么的。
至于我发问,是想进一步的去了解下!
[解决办法]
引用:
我上面已经说过谢谢了
如果你觉得你技术很强大的话,我真的想象不到,你能强大到何种地步!
我既然已经说过另个服务器上不能架设WEB服务器了,你还非要找字眼说IIS不需要开80端口,难道这样就能体现你技术的高超?难道你自己不会想下,如果2台服务器都能架设WEB服务器的话,那为什么要先从A服务器再走到B服务器转一圈呢?或许你能找出理由来吧!
再者,我不需要你来教训我该如何端正自己,一来,你没有这资格,二来,像你这种盲目对人或对事乱下决定的人难成大事,也许只会纸上谈兵而已!请绕下道吧!!!

你说的是:“那个服务器不允许架设IIS 跟开 80端口!”
没说不能使用类似的技术开其他的网络端口,比如自己写HTTP服务或用Apache什么的,至于我会说“IIS又不是只能开80端口”,是因为你把“IIS”和“80端口”捆绑来说,很有可能你就认为所谓的 WEB 服务就是这么个概念。

至于我的技术如何,就像你说的,你没资格来说。即使我技术再烂,也不会因为这种低级问题困扰,起码比你要好得多。你说:“想象不到,你能强大到何种地步”是因为根本连个范围和标准都不知道,你当然什么也想像不到。虽然说我这点技术确实不算什么,但和你比,起码有个十几年的差距,因为十几年前我就已经碰到过需要处理这样的事情,但当时也没能成为我的问题我就把他搞定了,你现在才来问不是差了十几年是什么?

你来这问问题,我只是处于好心才告诉你如何去做,而且告诉你的方向并没错,因为我做过很多次类似的方案和项目。你却把自己吊起来卖,说什么自己“一窍不通”,然后说“非常简单”,再就是放出开发需求。

你这是什么意思?不就是在说:“你们上面说的都是废话,我都懒得去研究你们说点什么,我现在把需求说出来,你们来弄”。

你不要说你不是这意思,你的“我对 XMLHTTP 一窍不通”就是表示你根本就不尊重别人给你的意见,甚至是了解都不去了解,还一窍不通的程度,这不就是当别人的话是废话吗?不就是懒得去研究你们说点什么吗?

然后你放出来的不是你是怎么考虑或打算,询问是否合适,而是放出开发需求和限制条件,你不就是不想讨论技术而叫别人去弄吗?

我叫你端正态度就是在说的这种无耻行为,你说我没资格说,你凭什么说我没资格说,我说话的资格要你来认证?我看你脑子进水了。

你说:"难道你自己不会想下,2台服务器都能架设WEB服务器的话,那为什么要先从A服务器再走到B服务器转一圈呢?",告诉你,各种各样的需求都是有可能的,在服务器集群或是备用服务方案里多得是这种类似的用法,你是以你的无知来质疑我。

你说我没成就,对,我是没什么成就,最多只是在一些不大不小的公司做些个总经理或副总经理什么的,也没搞出什么惊天动地的事业,一个人赚的钱最多能够养活一家人让他们过点平常生活而已,最多也就带过三四十人的团队。但估计你也好不到哪去,甚至更加不堪。

你叫我让道,也得我愿意“让你”才行,我不让你又能怎么样?
[解决办法]
每个人的想法,对事情的处理都有不同的方式!
别老把自己的想法强加给别人!
再者,写点东西并不一定是卖钱什么的经济关系,很多时候是为了方便自己
我本来就不是技术出身,也没有正式去学习过某个开发语言什么的!至少我自己想要的东西我还是能实现的
即使实现不了,我还是会慢慢去研究去琢磨,总会实现的。所以在于技术方面我肯定没你强大,但是你也没那么强大。
技术不一定能当饭吃,即使你技术再好,你还需要营销,推广你的技术,即使你推广再好,也要经济来支持你的生活。
还副总经理跟总经理的!还带30-40人的团队!
怎么?想展现下自我?就这么点能耐就忍了吧!
小朋友,10几年前我还真是没研究过这些东西,不过当时也没带30-40人,最多也就带了个20来人!

就你目前而言,至少10年也买不起我的车,50年也买不起我的房子!

结了吧,没意思你做你的技术达人,我做我的技术鸭蛋!你走你的阳光大道,我过我的独木桥!!!
[解决办法]
引用:
每个人的想法,对事情的处理都有不同的方式!
别老把自己的想法强加给别人!
再者,写点东西并不一定是卖钱什么的经济关系,很多时候是为了方便自己
我本来就不是技术出身,也没有正式去学习过某个开发语言什么的!至少我自己想要的东西我还是能实现的
即使实现不了,我还是会慢慢去研究去琢磨,总会实现的。所以在于技术方面我肯定没你强大,但是你也没那么强大。
技术不一定能当饭吃,即使你技术再好,你还需要营……

你的意思是技术好的都没钱?会搞技术的其他方面都不如你了是吗?
我问你,比尔盖茨会不会技术?他也没钱?我看你脑袋是被撞了才有这种想法。
我搞一个自动化控制工程就是上千万的工程,你那车和你那房子能顶得住这种几个工程?
我10年买不起你的车,50年也买不起你的房子,你的这些东西还真贵。
通常我对人促事的态度是很好的,但对一些自以为是又想在我面前嚣张的家伙我从不会忍耐。
想和我比,你凭什么都凭不了,你还嫩呢。

热点排行