当前位置: 首页 > news >正文

烟台网站建设专业臻动传媒潜江市网站

烟台网站建设专业臻动传媒,潜江市网站,oppo软件商店下载,宝山企业做网站文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation#xff0… 文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation原为 Node.js Foundation已与 JS Foundation 合并持有和维护亦为 Linux 基金会的项目。Node.js 采用 Google 开发的 V8 运行代码使用事件驱动、非阻塞和异步输入输出模型等技术来提高性能可优化应用程序的传输量和规模。这些技术通常用于资料密集的即时应用程序。 Node.js 大部分基本模块都用 JavaScript 语言编写。在 Node.js 出现之前JavaScript 通常作为客户端程序设计语言使用以JavaScript 写出的程序常在用户的浏览器上运行。Node.js 的出现使 JavaScript 也能用于服务端编程。Node.js 含有一系列内置模块使得程序可以脱离 Apache HTTP Server 或 IIS作为独立服务器运,下面将介绍如何简单几步实现远程公共网络下访问windwos node.js的服务端。 1.安装Node.js环境 官网下载node.js,我们选择64位一键安装 https://nodejs.org/zh-cn/download/ 安装好后我们打开cmd,输入命令有正常出来版本号表示安装成功,一键安装版,默认会配置环境变量。 node -v2.创建node.js服务 这里我们在本地创建一个简单的nodejs服务创建一个贪吃蛇页面小游戏来进行演示。 首先在本地创建一个文件夹并在文件夹中新建2个文件一个是js文件和一个html文件需要放在同个目录下然后使用vscode打开。 game.html文件nodetest.js文件 在game.html添加如下html代码并保存以下代码是一个html页面小游戏(贪吃蛇) !DOCTYPE html html headtitle贪吃蛇/titlemeta charsetUTF-8meta namekeywords content贪吃蛇meta nameDescription content这是一个初学者用来学习的小游戏style typetext/css*{margin:0;}.map{margin:100px auto;height:600px;width:900px;background:#00D0FF;border:10px solid #AFAEB2;border-radius:8px;}/style /headbody div classmap canvas idcanvas height600 width900/canvas /divscript typetext/javascript//获取绘制工具/*var canvas document.getElementById(canvas);var ctx canvas.getContext(2d);//获取上下文ctx.moveTo(0,0);ctx.lineTo(450,450);*/var cdocument.getElementById(canvas);var ctxc.getContext(2d);/*ctx.beginPath();ctx.moveTo(0,0);ctx.lineTo(450,450);ctx.stroke();*/var snake [];//定义一条蛇画蛇的身体var snakeCount 6;//初始化蛇的长度var foodx 0;var foody 0;var togo 0;function drawtable()//画地图的函数{for(var i0;i60;i)//画竖线{ctx.strokeStyleblack;ctx.beginPath();ctx.moveTo(15*i,0);ctx.lineTo(15*i,600);ctx.closePath();ctx.stroke();}for(var j0;j40;j)//画横线{ctx.strokeStyleblack;ctx.beginPath();ctx.moveTo(0,15*j);ctx.lineTo(900,15*j);ctx.closePath();ctx.stroke();}for(var k0;ksnakeCount;k)//画蛇的身体{ctx.fillStyle#000;if (ksnakeCount-1){ctx.fillStylered;//蛇头的颜色与身体区分开}ctx.fillRect(snake[k].x,snake[k].y,15,15);//前两个数是矩形的起始坐标后两个数是矩形的长宽。}//绘制食物 ctx.fillStyle black;ctx.fillRect(foodx,foody,15,15);ctx.fill();}function start()//定义蛇的坐标{//var snake [];//定义一条蛇画蛇的身体//var snakeCount 6;//初始化蛇的长度for(var k0;ksnakeCount;k){snake[k]{x:k*15,y:0};}drawtable();addfood();//在start中调用添加食物函数}function addfood(){foodx Math.floor(Math.random()*60)*15; //随机产生一个0-1之间的数foody Math.floor(Math.random()*40)*15;for (var k0;ksnake;k){if (foodxsnake[k].xfoodysanke[k].y)//防止产生的随机食物落在蛇身上{ addfood();}}} function move(){switch (togo){case 1: snake.push({x:snake[snakeCount-1].x-15,y:snake[snakeCount-1].y}); break;//向左走case 2: snake.push({x:snake[snakeCount-1].x,y:snake[snakeCount-1].y-15}); break;case 3: snake.push({x:snake[snakeCount-1].x15,y:snake[snakeCount-1].y}); break;case 4: snake.push({x:snake[snakeCount-1].x,y:snake[snakeCount-1].y15}); break;case 5: snake.push({x:snake[snakeCount-1].x-15,y:snake[snakeCount-1].y-15}); break;case 6: snake.push({x:snake[snakeCount-1].x15,y:snake[snakeCount-1].y15}); break;default: snake.push({x:snake[snakeCount-1].x15,y:snake[snakeCount-1].y});}snake.shift();//删除数组第一个元素ctx.clearRect(0,0,900,600);//清除画布重新绘制isEat();isDead();drawtable();} function keydown(e){switch(e.keyCode){case 37: togo1; break;case 38: togo2; break;case 39: togo3; break;case 40: togo4; break;case 65: togo5; break;case 68: togo6; break;}}function isEat()//吃到食物后长度加1{if(snake[snakeCount-1].xfoodxsnake[snakeCount-1].yfoody){addfood();snakeCount;snake.unshift({x:-15,y:-15});}}//死亡函数function isDead(){if (snake[snakeCount-1].x885||snake[snakeCount-1].y585||snake[snakeCount-1].x0||snake[snakeCount-1].y0){window.location.reload();}}document.onkeydownfunction(e) {keydown(e);} window.onload function()//调用函数 { start();setInterval(move,150);drawtable();} /script /body /html nodetest.js文件添加如下js代码以下代码意思是开启一个http服务,设置监听3000端口号 const http require(http);//加载文件模块 const fs require(fs);const hostname 127.0.0.1; //端口 const port 3000;const server http.createServer((req, res) {res.statusCode 200;res.setHeader(Content-Type, text/html);fs.readFile(./game.html, (err, data) {if (err) throw err;console.log(data.toString);res.end(data);});});server.listen(port, hostname, () {console.log(Server running at http://${hostname}:${port}/); });3. 访问node.js 服务 当我们编写好相关代码后,我们开始启动服务.在vscode控制台输入命令【注意需要进入到相应的文件目录下执行命令】 node .\nodetest.js有正常返回提示服务在本地3000端口下我们打开浏览器,访问http://127.0.0.1:3000/,出现贪吃蛇界面表示成功【游戏控制:键盘上下左右键】 4.内网穿透 这里我们使用cpolar来进行内网穿透支持http/https/tcp协议不限制流量无需公网IP也不用设置路由器使用简单。 4.1 安装配置cpolar内网穿透 cpolar官网https://www.cpolar.com/ 访问cpolar官网注册一个账号然后下载并安装客户端具体安装教程可以参考官网文档教程。 windows系统在官网下载安装包后双击安装包一路默认安装即可。linux系统支持一键自动安装脚本详细请参考官网文档——入门指南 4.2 创建隧道映射本地端口 cpolar安装成功后在浏览器上访问本地9200端口http://localhost:9200使用cpolar邮箱账号登录。 点击左侧仪表盘的隧道管理——创建隧道创建一个指向本地3000端口的http隧道 隧道名称可自定义命名注意不要与已有的隧道名称重复协议选择http本地地址3000域名类型免费选择随机域名地区选择China vip 点击创建 隧道创建成功后点击左侧的状态——在线隧道列表,查看所生成的公网地址然后复制地址 打开浏览器器,我们使用上面公网地址进行访问,至此,我们成功将本地·node.js 服务发布到了公网地址 5.固定公网地址 由于以上使用cpolar所创建的隧道使用的是随机公网地址24小时内会随机变化不利于长期远程访问。因此我们可以为其配置二级子域名该地址为固定地址不会随机变化。 保留一个二级子域名 登录cpolar官网点击左侧的预留选择保留二级子域名设置一个二级子域名名称点击保留,保留成功后复制保留的二级子域名名称 保留成功后复制保留的二级子域名地址 配置二级子域名 访问http://127.0.0.1:9200/登录cpolar web UI管理界面点击左侧仪表盘的隧道管理——隧道列表找到所要配置的3000隧道点击右侧的编辑 修改隧道信息将保留成功的二级子域名配置到隧道中 域名类型选择二级子域名Sub Domain填写保留成功的二级子域名 点击更新 更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了保留过的二级子域名名称,将其复制下来 然后使用固定http地址打开浏览器访问 访问成功现在这个公网地址是固定的了不会随机变化。成功通过cpolar内网穿透实现在外远程访问nodejs服务无需公网IP 也不用设置路由器。
http://www.zqtcl.cn/news/164422/

相关文章:

  • 湖北长安建设网站制作一个网站的步骤是什么
  • js网站开发成都房地产最新政策
  • 天津网站制作维护无锡网络推广外包
  • 国外中文网站排行娱乐新闻做的好的网站
  • 零食网站建设需求分析规划设计网址
  • 建立网站备案的法律依据wordpress 招商系统
  • 建设银行全球门户网站网站建设技能
  • 提供企业网站建设价格10元一年的虚拟主机
  • 塔城建设局网站电子商务网站建设方案目录
  • 网站容易被百度收录个人建购物网站怎么备案
  • 中文网站什么意思wordpress电脑访问不了
  • 杨家坪网站建设企业生产erp软件公司
  • 网站模块设计软件河北seo优化_网络建设营销_网站推广服务 - 河北邢台seo
  • 陕西正天建设有限公司网站西安专业网页制作
  • 网站建设工作室介绍范文seo网站排名的软件
  • 上海网站建设-网建知识可编辑个人简历模板
  • 北京新鸿儒做的网站shopify做国内网站
  • 网站怎样做百度推广机关门户网站建设要求
  • 好看的网站后台模板沧州网站群
  • 深圳做网站排名公司哪家好哪些网站seo做的好
  • 国内网站建设推荐网站建设合同标准版
  • 哈尔滨网站制作费用企业成品网站模板
  • 网络广告网站怎么做北京海淀建设中路哪打疫苗
  • 房地产公司网站制作电影发布网站模板
  • 如何利用开源代码做网站网站本科
  • 公司是做小程序还是做网站宜宾住房与城乡建设部网站
  • 做网站哪个公司最社区问答网站开发
  • 网站引量方法网站建设推广页
  • 书店网站的建设网络营销方法有哪些
  • 深圳网站优化软件顺企网怎么样