Nes*_*ess 32 javascript android referenceerror ios socket.io
我正在为Android 2.3.5编写一个应用程序(它也将与iOS兼容).我希望将数据从应用程序的HTML/Javascript传输到服务器上的Python程序(使用Twisted引擎来检索数据).
我尝试了很多东西,看了各种论坛,答案,教程和网页 - 其中大部分都在这里 - 并且找不到答案.这是我在index.html文件中的相关Javascript:
<script src="socket-lib/socket.io.js"></script>
<script type="text/javascript" charset="utf-8">
function sendData() {
try {
var socket = io.connect('http://mywebsite.com:12345');
socket.on('connect', function(data) {
socket.send('Hello.');
socket.on('message', function (msg) {
socket.send('This is where I send data?');
});
});
}
catch(err) {
alert('ERROR: socket.io encountered a problem:\n\n' + err);
}
} // end of sendData
Run Code Online (Sandbox Code Playgroud)
如果你不能说,我仍然很困惑这是如何工作的; 我甚至无法测试任何东西.不断出现的错误是ReferenceError: io is not defined.一些网站使用的东西var io = require('socket.io');.但是它会导致同样的错误:ReferenceError: require is not defined.
我把socket-lib文件夹放在assets/www中,其中任何其他Javascript源都应该去.这也是index.html文件的位置.许多网站使用<script src="/socket.io/socket.io.js"></script>,但这对我没有意义.许多网站也暗示使用node.js,但我从未在任何地方看到它.
我怎样才能做到这一点?
回复编辑:
我在Chrome中试过它,它给了我一个Uncaught ReferenceError: require is not definedsocket.io.js文件.所以我决定在它之前使用require.js.然后它给出了错误Uncaught Error: Module name "socket.io-client" has not been loaded yet for context.因为我没有使用它,所以我不在意.但是,当我尝试连接时,它会给出相同的io is not defined错误.当我将其定义为时var io = require('socket.io'),错误是Error: Module name "socket.io" has not been loaded yet for context: _ http://requirejs.org/docs/errors.html#notloaded.我查看了网站,它根本没有帮助我.当我尝试将"require"作为函数参数时,会发生另一个错误:TypeError: undefined is not a function.
Nes*_*ess 55
我找到了答案,任何人都会因为可怕的缺乏文档而感到非常困惑socket.io.
你不能采购/socket-lib/socket.io.js,
你必须来源http://yourwebsite.com:12345/socket.io/socket.io.js.
服务器会自动为您完成剩下的工作.
我通过更改index.html从bower导入socket io客户端来解决它,首先我安装了bower组件:
bower install socket.io-client
Run Code Online (Sandbox Code Playgroud)
然后我将index.html中的引用更改为:
<script src="bower_components/socket.io-client/socket.io.js"></script>
Run Code Online (Sandbox Code Playgroud)
或者可以在 - lib/socket.io-client/dist/socket.io.js找到文件
| 归档时间: |
|
| 查看次数: |
61499 次 |
| 最近记录: |