如果我沒記錯的話前幾天它用來顯示「localhost」。我不知道什麼改變了server.address()。地址返回雙冒號(::)代替。 我在這裏讀到它返回一個IPv6地址(::),如果它可用但它在我的PC上被禁用。 Node.js server.address()。address returns ::
回答
作爲文檔說,
開始接受指定端口和主機名上的連接。如果省略主機名,則服務器將接受任何IPv6地址(:)上的連接,當IPv6可用時,或者任何IPv4地址(0.0.0.0)。端口值爲零將分配一個隨機端口。
所以,下面的代碼將打印running at http://:::3456
:
var express = require('express');
var app = express();
var server = app.listen(3456, function() {
var host = server.address().address;
var port = server.address().port;
console.log('running at http://' + host + ':' + port)
});
但是,如果你添加一個明確的主機名:
var server = app.listen(3456, "127.0.0.1", function() {
這將打印你希望看到什麼:running at http://127.0.0.1:3456
另外你也可能會使用some IP lib,如this answer
問候,亞歷山大
URL中的IPv6文字應該用方括號括起來,例如, 'http:// [::]:3456' –
謝謝,我現在明白了。我仍然不明白爲什麼它選擇IPv6而不是IPv4,即使我的機器上禁用了IPv6? – Jake
@Jake我不知道關於禁用IPv6m,但這也發生在舊的節點版本(特別是0.12) –
- 1. Send email codeigniter function returns「Recipient address rejected:Domain not found」instead of false
- 2. req.body returns「Forbidden」
- 3. NSPredicate returns empty array
- 4. MPMediaQuery.songsQuery()。items returns nil
- 5. NSNumber doubleValue returns NaN
- 6. Servlet:doGet not returns
- 7. getSupportFragmentManager()。findFragmentById returns Null
- 8. HTML Dropdown Returns Blank
- 9. Cache.Get always returns null
- 10. jquery not returns body.text
- 11. SELECT COUNT(*)returns -1
- 12. jquery height returns 0
- 13. iOS NSJSONSerialization returns null
- 14. onGetMapPackagesComplete resultCode returns NO_Connectivity
- 15. isAttachedToWindow()returns false
- 16. Tapi3 CallerIDNumber returns 9900
- 17. Javascript returns incorrecct results
- 18. Aggregate returns empty array
- 19. File.exists returns false
- 20. ngresource factory returns undefined
- 21. getElementById()。value returns nothing
- 22. $(this).position.left returns empty
- 23. getter returns undefined
- 24. getLastKnownLocation returns NULL
- 25. sorted()returns [] Python
- 26. sqlite_step(statment).returns 100
- 27. setExposureCompensation returns「Illegal Argument」
- 28. if statement returns true
- 29. Javascript document.getElementsByClassName returns undefined
- 30. android view.getId()returns -1
我成功實施的黑客:var host = server.address()。address; host =(host =='::')? 「本地主機」:主機; –