1

私は Nimrod を少しいじっていて、HTTPServer モジュールを試しました。私の標準ブラウザであるSafariでWebページにアクセスしようとすると、エラーが発生したため、最初は機能しないと思いました。次のようなエラーがありました: (正確に正しくない場合は申し訳ありません。オランダ語から翻訳されています)

Safari でこのページを開くことができません ネットワーク接続が予期せず失われたため、Safari でページ localhost:5000 を開くことができません

しかし、Chrome または Firefox でページを開こうとすると、問題なく動作します。

私のニムロッドコード:

import strutils, sockets, httpserver

var counter = 0
proc handleRequest(client: TSocket, path, query: string): bool {.procvar.} =
  inc(counter)
  client.send("Hello for the $#th time." % $counter & wwwNL)
  return false # do not stop processing

run(handleRequest, TPort(5000))
4

1 に答える 1

2

client.send は、HTTP ステータス行やヘッダーを追加せずに、ワイヤーに直接書き込むようです。少なくともステータス行を追加することで動作させることができます:

import strutils, sockets, httpserver

var counter = 0
proc handleRequest(client: TSocket, path, query: string): bool {.procvar.} =
  inc(counter)
  client.send("HTTP/1.0 200 OK\r\n\r\nHello for the $#th time." % $counter & wwwNL)
  return false # do not stop processing

run(handleRequest, TPort(5000))
于 2014-11-02T19:27:38.043 に答える