當前位置:首頁 » 編程軟體 » node遠程編譯

node遠程編譯

發布時間: 2022-06-11 22:35:47

『壹』 node.js請求遠程數據,再用ajax向node請求數據

WaitForSingleObject(g_hEvent,INFINITE);
if(ticket>0)
{
Sleep(1);
cout<<"ticket 2:"<<ticket--<<endl;
}

『貳』 linux系統下,node.js怎麼遠程連接sqlServer

Node.js一直都與mysql , Nosql 配合使用,對於Sql Server卻沒有很好的支持,一直都是小眾技術人員自己編寫訪問程序。
2012年微軟公司官方發行一款Node.js訪問Sql Server的驅動程序——msnodesql ,讓Node.js訪問SQL Server更加簡單。
安裝
msnodesql 下載地址:下載 自行選擇與自己系統相符的版本,點擊安裝。
msnodesql 官方地址:https://github.com/WindowsAzure/node-sqlserver 含wiki 和 疑問解答 。
在node.js環境下,安裝方式和其他驅動安裝一樣,安裝命令:nmp install msnodesql
安裝過程中需要注意的兩個問題:
1、安裝之前必須安裝SQL Server Native Client 11.0 32位下載地址:下載 64位下載地址:下載 ,安裝此程序不需要SQL server2012支持,經測試,SQL 2005和SQL 2008 可以正常安裝使用。
2、安裝過程中,如出現錯誤,檢查是否在管理員界面下進行命令安裝,這個問題我糾結了好長一段時間。

(右鍵——以管理員身份運行)

使用
引用驅動
var sql = require('msnodesql');

建立資料庫連接
var conn_str = "Driver={SQL Server Native Client 11.0};Server={.};Database={nodetest};uid=sa;PWD=123456;";

不要被 SQL Server Native Client 11.0 嚇到,可以完美支持sql 2005和sql 2008 的。
打開資料庫

sql.open(conn_str, function (err, conn) {
if (err) {
console.log("Error opening the connection!");
return;
}

//這里是查詢語句
});

SQL操作

sql.queryRaw(conn_str,"SELECT * FROM TestTable",

function (err, results)
{
if (err)
{
console.log("Error running query!");
return;
}
for (var i = 0; i < results.rows.length; i++)
{
console.log("0:" + results.rows[i][0]); }
});

注意:此處的寫法與wiki文檔的寫法有些不同,我用過wiki文檔的寫法(https://github.com/WindowsAzure/node-sqlserver/wiki),有時會出現無法查詢數據的情況,w我這種寫法是參考源代碼中參數的寫法,queryRaw包含四個參數:
connectionstring:鏈接字元串(wiki裡面的居然沒有用這個,直接用function裡面的參數 conn,搞不懂)
query:SQL語句
param:參數(可選的)
callback:回傳函數,操作完以後返回的事件

一個完整的例子

var sql=require('msnodesql');
var conn_str="Driver={SQL Server Native Client 11.0};Server={.};Database={nodetest};uid=sa;PWD=123456;";

sql.open(conn_str, function (err, conn) {
if (err) {
console.log('發生錯誤');
}

sql.queryRaw(conn_str, "select * from users", function (err, results) {
if (err) {
console.log(err);
}
else {
for (var i = 0; i < results.rows.length; i++) {
console.log(results.rows[i][0] + results.rows[i][1]);
}
}
})

})

『叄』 node 搭建的伺服器怎樣遠程訪問

怎麼設置都不可以 必須通過第三方遠程發布軟體來操作 如果你採用類似虛擬遠程的模式 數據就是明碼傳播了 對企業數據不安全 第三方遠程就不會或者概率很小被破譯

『肆』 如何在2016年成為一個更好的 Node.js 開發者

在2015年的夏天ES2015的最終草案(即ES6)正式發布了。在該版本中為JavaScript語言增加了大量的新的語言特性,主要包括:

箭頭函數
模版字元串
rest operator(不定參數), argument spreading
生成器
promises
maps, sets
symbols

以及很多其他特性。一個更加完整的新特性的列表你可以從 Kyle Simpson
的 ES6 and Beyond
中進行了解。 它們中的絕大部分特性被加入到了Node.js v4中。

在客戶端,你也可以藉助Babel來使用ES6的所有新特性,Babel是一個JavaScript轉譯器。,目前為止, 在伺服器端我們只傾向於使用那些被加入到最新的穩定版本的特性,而無需編譯代碼,避免出現那些令我們頭疼的潛在問題。

對於Node.js中的ES6的更多信息,你可以訪問官方站點: https://nodejs.org/en/docs/es6/

回調約定 - 同時支持Promise

在過去的一年,我們推薦你為模塊暴露錯誤優先的回調函數介面。由於生成器函數已經標准化了,並且非同步函數也即將來臨, 因此你的模塊應該暴露同時支持Promise的錯誤優先的回調函數。

為什麼?為了提供向後兼容性,因此回調函數介面必須要提供,為了能夠更好的為未來的兼容性做打算,你同時應該提供Promise支持。

為了說明如何達到這效果,可以參考如下的代碼。在這個例子中 readPackage
函數讀取了 package.json
文件, 並同時通過Promise和回調介面返回了它的內容。

非同步模式

在Node.js中,很長一段時間你只有兩種方法來管理非同步流:回調或者流(Stream)。對於回調函數而言, 你可以使用類似於 async
這類庫, 對於流而言,有 through
、 bl
、 highland


但是隨著Promise、生成器、非同步函數等被逐漸引入進標準的ECMAScript,JS中的流程式控制制也得到了極大的改變。

關於非同步JavaScript的發展歷史,你可以參考 非同步JavaScript的發展歷程
這篇博文。

錯誤處理

錯誤處理在應用開發過程中起著至關重要的作用:確定應用崩潰的時間,或者僅僅是列印錯誤信息,確保應用繼續運行都是有一定難度的。

為了能夠更簡單的說明這個問題,我們決定將其分為兩種:程序員錯誤(programmer errors)和運算錯誤(operational errors)。

程序員錯誤就是我們所說的bug,由於你不知道程序運行的確切狀態因此當出現錯誤時你最好立刻停止應用的運行(crash the process)。

另一方面,運算錯誤是由於系統或者遠程服務本身所導致的問題。例如:請求超時和內存不足等。基於錯誤發生的特點,你可以對症下葯, 然後重試,例如文件丟失,你可以去創建相應的文件。

在回調中進行錯誤處理

如果一個錯誤發生在非同步操作的過程中,錯誤對象應該作為非同步函數的第一個參數進行傳遞。你必須始終要檢查該錯誤對象並進行錯誤處理。

下面的代碼判斷顯示了進行錯誤優先的回調函數處理的例子:

在Promise中進行錯誤處理

如果是下面的代碼片段會發生什麼情況?

在第3行會拋出一個異常。
catch會處理它,並且在stdout中列印出: [Error: ops]

執行繼續,並且在第9行會拋出一個新的錯誤
沒有了

的確沒有什麼了 - 最後一個被拋出的錯誤將會是靜默的。你需要注意,你應該始終以一個catch語句作為promise鏈的最後一環。 這會為你解決很多頭疼的問題。像下面這樣:

現在會輸出如下內容:
[Error: ops]
[Error: ops]

使用JavaScript標准風格

在過去幾年中,我們會使用JSHint、JSCS、ESLint等非常有用的代碼質量工具來盡可能的自動化檢查我們的代碼。

最近,當談到代碼風格的時候,我們使用 feross
的 JavaScript標准風格


原因是它非常的簡單:無需任何配置文件,只需要將其放到項目中。主要包括如下一些規則:

使用2個空格作為縮進
字元串使用單引號 - 除了為了避免轉義
不要包括沒有被使用的變數
沒有分號
永遠不要以 ( 或者 [ 作為一行的開始
關鍵字後加空格 if (condition) { ... }

函數名後加空格 function name (args) { ... }

始終使用 ===
代替 ==
,但是可以使用 obj == null
來檢查 null || undefined

始終要處理Node.js的 err
函數參數
始終要為瀏覽器全局變數增加 window
前綴,除了 document
和 navigator

盡可能避免使用類似於 open
、 length
、 evet
、 name
等走位瀏覽器全局變數。

當然,如果你的 編輯器只支持ESLint的話,這里有一個ESLint的規則庫用於使用標准風格,即 eslint-plugin-standard
。 安裝了這個插件後,你的 .eslintrc
文件可以是下面這樣的:
{
"plugins": [
"standard"
],
}

『伍』 如何使用NodeJS寫出一枚遠程命令執行漏洞

當我們寫了個NodeJS程序的時候,一般用node yourjsfile.js命令啟動該程序。但是如果程序中有東西出錯,這個進程就會退出。我們寫程序不可能保證萬無一失,肯定有些沒有處理的錯誤,這就讓很多人覺得NodeJS不穩定,容易產生很多故障。

『陸』 如何調試nodejs

1. 基於Nodejs內建的調試器
Nodejs提供了一個內建調試器來幫助開發者調試應用程序。想要開啟調試器我們需要在代碼中加入debugger標簽,當Nodejs執行到debugger標簽時會自動暫停(debugger標簽相當於在代碼中開啟一個斷點)。代碼如下:
var path = url.parse(req.url).pathname;
debugger;
res.writeHead(200, {'Content-Type': 'text/plain'});
執行命令:node debug example.js 就可以進入調試模式。

在debug模式下,可以使用內建命令如repl去評估變數和表達式的值(如2所示)。我們也可以通過help命令來獲取完整的調試命令列表。
Commands: run (r), cont (c), next (n), step (s), out (o), backtrace (bt), setBreakpoint (sb), clearBreakpoint (cb),
watch, unwatch, watchers, repl, restart, kill, list, scripts, breakpoints, version

2. 基於V8插件的調試器
Nodejs是基於google V8的引擎上構建的,Google為Eclipse提供了一個對應的調試插件。關於如何在Eclipse中安裝和調試Nodejs程序就不再重復描述了,網上已經有很多的文章了(具體可以參考這篇文章http://cnodejs.org/blog/?p=911)。唯一要注意的是在默認情況下V8引擎支持的調試模式是本地模式。如果想要開啟遠程調試的話,我們需要修改Nodejs中的V8源文件:/deps/v8/src/platform-posix.cc
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); --> INADDR_ANY
addr.sin_port = htons(port);
然後重新編譯Nodejs。
提示:
用插件來調試nodejs程序,你有時候會遇到什麼connect refuse, get version failed等等錯誤。那麼請注意你使用的ip的地址, 一般下127.0.0.1的回環地址是都工作的。如果你使用真實的ip地址,請檢查防火牆設置。

3. 基於Chrome瀏覽器的調試器
既然我們可以通過V8的調試插件來調試,那是否也可以借用Chrome瀏覽器的JavaScript調試器來調試呢?node-inspector模塊提供了這樣一種可能。我們需要先通過npm來安裝node-inspector
npm install -g node-inspector // -g 導入安裝路徑到環境變數

node-inspector是通過websocket方式來轉向debug輸入輸出的。因此,我們在調試前要先啟動node-inspector來監聽Nodejs的debug調試埠。

默認情況下node-inspector的埠是8080,可以通過參數--web-port=[port]來設置埠。在啟動node-inpspector之後,我們可以通過--debug或--debug-brk來啟動nodejs程序。通過在瀏覽器輸入http://[ip address]:8080/debug?port=5858,我們會得到如下的調試窗口:

這三種方法各自有優缺點,我個人比較欣賞node-inspector的方式。
具體可以參考這個帖子:http://www.cnblogs.com/moonz-wu/archive/2012/01/15/2322120.html

『柒』 如何在本地調試遠程伺服器上的Node代碼

方式一:通過debugger

方式二:通過sb(line)。

執行下一步
通過next命令。

跳到下一個斷點
通過cont命令。

查看某個變數的值
輸入repl命令後,再次輸入變數名,就可以看到變數對應的值。如果想繼續執行代碼,可以按ctrl+c退出。

添加/刪除watch
通過watch(expr)來添加監視對象。
通過watchers查看當前所有的監視對象。
通過unwatch(expr)來刪除監視對象。
添加watch:

『捌』 如何使用node執行遠程linux伺服器命令

操作順序: 1、打開本地終端,輸入telnet命令: >> telnet 伺服器ip 輸入用戶名 密碼 登陸成功 2、轉到oracle用戶下,輸入: >> su - oracle >> exp 根據Oracle的exp命令提供的到處向導,導出用戶需要的數據到dmp文件中 myxxxoutxxx.dmp 3、接下來是講這個dmp文件傳到本地 兩種方式 1、如果伺服器端開啟了ftpd 或者 sshd ,可以從本地連接過去,把dmp文件下載到本地 重新打開一個本地終端 >> ftp 伺服器ip 輸入用戶名 密碼 登陸成功 >> cd dmp文件目錄的相對路徑 >> get myxxxoutxxx.dmp 2、如果本地伺服器開啟了相關服務 可以從伺服器端上傳dmp文件到本地 >> cd dmp文件目錄的路徑 >> ftp 伺服器ip 輸入用戶名 密碼 登陸成功 >> put myxxxoutxxx.dmp 最後就是本地庫的導入了 在終端中輸入 imp 根據向導一步一步設置導入 或者用開發工具幫助導入

『玖』 node2可以遠程node1,但是node1不能遠程到node2

感覺是防火牆的問題,可以在Linux中先暫時關閉防火牆測試一下:iptables -F 或者 service iptables stop
如果是防火牆配置的問題就需要進行正確的配置了。關閉防火牆是不安全的哦。
學習Linux建議參考《Linux就該這樣學》,多敲多練習。加油吧

『拾』 請教大神們,我在eclipse 安裝NODE.JS調試環境時候,添加軟體源網址後,什麼都不出來。這是為什麼阿

原因:周知node是使用Google的V8引摯上層發開的產物。V8引摯天生只支持遠程調試,當我們使用 node --debug script.js 方式啟動node時,node默認監聽 127.0.0.1:5858埠。如果我們的開發環境,與node的運行環境不是布署在同一台機器,這時Javascript Remote Debugger是無法連接上的,正由於此原因我們的node需要重新編譯安裝,我的做法事下。
1.重新tar開node-v0.6.9.tar.gz
2.修改源碼node-v0.6.9/deps/v8/src/platform-posix.cc 查找到INADDRLOOPBACK修改為INADDRANY 如下圖

3.保存 make & make install 即可
自此所需要環境己經全部完成。

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:336
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:944
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:741
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:372