2015-12-17 112 views
3

我在C做了一個TCP客戶端,即時通訊尋求使對的NodeJS簡單和方便地集成到現有的一個應用程序的服務器端...接收和由C客戶端發送到封郵件服務器的NodeJS

好在我的C代碼,我收到並在接下來的方式發送封郵件:

numBytes = send(sock, &timeStamp, sizeof(timeStamp), 0); 
if(numBytes < 0) 
    DieWithSystemMessage("send() failed"); 

唸叨「網」和「socket.io」爲包裝的NodeJS一點之後,我還沒有找到,使其工作方式...我很抱歉,如果這是簡單的東西,但這是我第一次使用nodejs。 如果您有一些類似的博客或github鏈接,我會很高興看一看,謝謝!

回答

1

您需要使用net模塊,所以一個簡單的TCP監聽器看起來是這樣的:

const 
    port = 1234, 
    net = require('net'); 
server = net.createServer(function(connection) { 
      connection.write("Welcome to my server"); }); 
server.listen(port, function() { 
      console.log("Listening..."); }); 

Node.js net API進一步的細節

基本上,節點可與回調由於其異步特性,所以,如果你想註冊一個回調插座上的「信息」的事件,像:

server.on('data', function(data) { 
    console.log('Received data'); 
    /* Do manipulations on the inbound data */ 
}); 

所以你定義一個回調在'data'事件上執行,所以無論你何時在套接字上接收到數據,都會執行on()調用中定義的anonymus函數。

+0

好,所以當我在C發送數據,我怎麼能操縱的,在中的NodeJS部分數據?服務器採用什麼IP? – Javi9207

+0

該鏈接指向一個404頁,... – Javi9207

+0

編輯,現在就來試試。 – NadavL

1

的node.js是這樣的應用非常有用(我在一個月前就開始完全相同的項目,我沒有,我選擇Node.js的所有任何遺憾)。這使Node.js服務器的示例代碼:

const port = 46500; 
var net = require('net'); 
var server = net.createServer(function(connection) { 
    console.log('client connected'); 

    connection.on('close', function(){ 
     console.log('client disconnected'); 
    }); 

    connection.on('data', function (data) { 
     data = data.toString(); 
     console.log('client sended the folowing string:'+data); 
     connection.write("Response"); 
     console.log('Sended responst to client'); 
     connection.end(); 
     console.log('Disconnected the client.'); 
    }); 

}); 


server.listen(port, function() { 
    console.log('server is listening'); 
}); 

我看到你在另一篇評論,我可以(由於低於50聲望)不響應,但你可以硬編碼的IP地址你的C代碼裏面Node.js的服務器(但要確保你有當服務器更改IP備份選項),或者你可以實現一個DNS客戶端的C應用程序內如果服務器有一個域名。

0

可以使用的argv傳遞IP或您就可以使用HXD十六進制編輯修改。

+0

@EricAya你可以更有禮貌。如果你認爲答案更像是評論,你可以低估答案。 – MIRMIX

+0

@EricAya好的,我會消除這個消息,當我達到50代表。 – Et7f3XIV

+1

EricAya對我來說足夠有禮貌。 @MIRMIX當答案錯誤時,我們會降低評分,寫作時存在安全風險或包含不良信息。 – Et7f3XIV

相關問題