所以我想使用 socket.io 创建一个 node.js 服务器,但我更像是一个初学者,并且发现 express 包在语法上相当混乱。我知道我应该学习如何使用 express 和 app.js,但计划在我达到 node.js 仅包含 http、js 和 socket.io 包的能力范围之后再学习。我在网上看了将近一个小时,但没有什么可以解决我的问题。我在 socket.io 中遇到的主要问题是在客户端,函数 io(); 不管用。我什至尝试将 body 标记上方的脚本链接的路径重定向到我的服务器项目目录中的文件,但这只是返回一个错误,指出 require(); 不是函数。我在这面文字墙下包含了我正在使用的一些文件(但不是全部)。如果格式不正确,或者其他不正确,请原谅我,因为这是我第一次使用堆栈交换提问。出于这个原因,如果您有足够的声誉来编辑它以使其更适合您在此处遵循的格式,请这样做。
首先,我的服务器文件:
const http = require('http');
const fs = require('fs');
const io = require('socket.io')(http);
function socketReq(soc){
soc.emit("test", {"user":"test", "text":"testing da socket"});
}
io.on("connection", socketReq);
function server(req,res){
console.log('A user tried to connect to mazeserver.localtunnel.me'+req.url)
if(req.url == '/'){
console.log('Sending html...');
res.writeHead(200, {"Context-Type":"text/html"});
fs.createReadStream('./index.html').pipe(res);
}else if(req.url == '/pong.js'){
console.log('Sending JS...');
res.writeHead(200, {"Context-Type":"text/JavaScript"});
fs.createReadStream('./pong.js').pipe(res);
}else {
console.log('Error 404: file .'+req.url+' not …Run Code Online (Sandbox Code Playgroud) 我有以下python代码:
a, b = 1, 1
for i in range(0, 100):
print a
a, b = b, a + b
Run Code Online (Sandbox Code Playgroud)
它产生了这个:1 1 2 3 5 8等
我在c中写了同样的文章:
#include <stdio.h>
long long unsigned int a = 1, b = 1;
void main(){
for(int i = 0; i < 100; i++){
printf("%llu \n", a);
a = b, b = a + b;
}
}
Run Code Online (Sandbox Code Playgroud)
它产生了这个:1 1 2 4 8 16 32等
为什么c程序在使用完全相同的操作时会产生2的幂?