我想实现网页上点击某个按钮就用发送udp数据给服务器,不知道js可以实现吗,如果不行有没有什么好的方法来实现,谢谢了大家
解决方案 »
- ajax请求与响应的问题,急~~~~~在线等
- 完善代码:上传文件前,在客户端判断文件大小和类型
- js中使用innerHTML的问题[紧急求助,第一次贴]
- js怎样控制submit在一定时间内不可重复点击,谢谢!比较急
- jquery
- 在C#中实现图片轮显中的JS代码
- 【求助】操作表单元素为什么要加return false 不然会闪一下,修改不成功
- hta 做ftp上传工具
- 请问高手怎么去掉网页中鼠标移到该图片时出现的‘保存此图像’,‘打印此图像’。。。的按钮?让它们不显示,在线马上揭分
- 小菜鸟问个貌似有点2的问题
- 向高手求一个导航型的css代码。如图。
- 如何获取用户输入、后退等方式转到其它网页的URL?
能否详细一点,之前没有做过类似的东西,插件用什么来写,用VC写activex插件可以用吗??
我直接调用的winsock插件,不可以的,
挺奇怪的,代码请看:
代码1:
var sendata;
var sock = new ActiveXObject("MSWinsock.Winsock");
sock.Protocol = 1;
sock.RemoteHost = "192.168.3.251";
sock.RemotePort = 57298;
sock.LocalPort = 57298;
sock.Bind(57298);sendata = "Hello!!!";
sock.senddata(sendata);
sock.close(); 我将代码1保存为:“test.js”直接运行,是可以发送udp数据的,但是我将代码1嵌入到html网页中,在网页中点击按钮调用就不可以,以下是html的代码:代码2:
<html>
<head>
<script language=javascript>
test_send(){
var sendata;
var sock = new ActiveXObject("MSWinsock.Winsock");
sock.Protocol = 1;
sock.RemoteHost = "192.168.3.251";
sock.RemotePort = 57298;
sock.LocalPort = 57298;
sock.Bind(57298); sendata = "Hello!!!";
sock.senddata(sendata);
sock.close();
}
</script>
</head>
<body>
<form name="myform">
<input type="button" name="tstbtn" value="发送测试" onClick=‘test_send();'>
</form>
</body>
</html>点击按钮时一直显示网页有错误,
请教啊,谢谢啦
谢谢,我现在正在了解aflax,看看能否有帮助
<script language=javascript>
function test_send(){
var sendata;
var sock = new ActiveXObject("MSWinsock.Winsock");
sock.Protocol = 1;
sock.RemoteHost = "192.168.3.251";
sock.RemotePort = 57298;
sock.LocalPort = 57298;
sock.Bind(57298); sendata = "Hello!!!";
sock.senddata(sendata);
sock.close();
}
自己顶一下
有一个tcp接口专门用于http的传输,所以可以用web的方式来访问它。还有一个udp接口来传输具体的数据。想实现的方式是:
客户端(PC)用web的方式访问服务器,服务器把自己的内部数据更新到web上并给pc端;
用户在pc端可以浏览服务器的内部数据并且可以修改,修改之后点击一个button可以以udp的方式发给服务器,服务器接收到修改过的数据之后更新自己。
也就是一句话:tcp只传网页的代码;udp是数据通路。代码和数据分开的思想(也不知道这样对不对,呵呵)但是问题来了:
js,vbs都不支持socket(其实是支持的,甚至winsock都可以,单独写一个脚本直接运行是可以的,但是嵌入到网页中用按钮触发就不行),上网搜了一下,说是socketjs可以,还有xingqiliudehuanghun朋友说的aflax我也研究了一下,不管是socketjs还是aflax,实现原理都是一个,就是网页中嵌入一个flash文件,调用flash的socket来发送数据,但问题又来了……flash的socket不支持udp,目前只支持tcp……哎,看来这个架构只能胎死腹中了……发这个总结的目的:
希望后来的朋友能少走弯路,当然如果有哪位高手曾经做过并且已经解决了的也希望能够指点小弟,多谢多谢
------
UDP和HTTP是两回事。网页是运行在HTTP机制中的,怎么可能劈腿?你单独运行它,是用了WIN系统里的脚本宿主程序去解释运行的,相当于解释型的程序,和网页走的不是一条道,走的是软件的路子,所以能走通。这个,你要么放弃,要么在服务器端用后台实现UDP,前端去调用后台。或者借用FLASH(它在这方面实际也如上面所说一样,不是走的HTTP协议)。
恩,终于理解了htttp的意思……
服务器后台是可以实现udp,关键是客户端以什么样形式发送udp,关键想让用户的感觉是网页按钮来触发udp的数据发送,看来flash是唯一的选择,虽然以软件的形式发送,但却给用户直观的感觉是网页在操作一切,而flash只能发送tcp,我目前就是把服务器的后台udp接收代码换成tcp,开一个tcp的连接只接受数据,谢谢了