0

LinuxでC++ネットワークサーバーのプロトタイプを書いています。ソケットファイル記述子を取得し、ポート6666で127.0.0.1にバインドし、listenでソケットをマークし、acceptを呼び出しました。プログラムは、enyエラーなしで受け入れるまで実行され、その後待機します。

それでも、のソケットに関する記録はありませんnestat --all

telnet 127.0.0.1 6666コマンドを試しましconnection refusedたが、サーバーはまだ実行されていました。

インターネットで見られる例が機能しているので、ファイアウォールが原因ではないと思います。エラー処理に間違いがあるかもしれないと思います。私はまだC++に精通していません。

これがpastebinの私のソースコードです。

お手数をおかけしますが、よろしくお願いいたします。:)

4

1 に答える 1

3
  1. incoming_addryourはポインタとして宣言されているためsizeof、ポインタのサイズを返していることに注意してください。で試してくださいsizeof(struct sockaddr_storage)

  2. getAddressconst char *addressではなく受け取る必要がありconst char addressます。本当に、最初の文字だけでなく、アドレス全体を渡したいのです。&これには、からを削除addressinet_addr(&address)、関数をとして呼び出す必要もありますgetAddress(addr, SERVER_PORT)

于 2012-12-10T22:25:18.963 に答える