IRC-WIR / ft_irc

0 stars 0 forks source link

Origin/96 for evaluation #98

Closed rinonaito closed 9 hours ago

rinonaito commented 3 days ago

mainマージしましたので、確認願います。

このブランチでの対応事項 ①Errnoによる処理の分岐を排除 ②fcntlの使用方法をfcntl(fd, F_SETFL, O_NONBLOCK);に制限 ③サーバ終了直後の起動時発生するbindエラーに対応

補足 ③について、具体的な処理を文章で軽く説明します listeningsocketに値して、オプションを設定する方法でこのエラーを回避しました。参考ページ

使用関数はsetsockoptです、ソケットレベルで、SO_REUSEADDRオプションを指定しました。

int setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen);

その他の引数は以下の記載に則して指定。

ほとんどのソケットレベルのオプションは optval 用に int 引数を使用します。
 setsockopt() の場合、ブール演算を有効にするためには引数は 0 でない必要があり、 
オプションを無効にする場合は 0 である必要があります。
weijuan82113 commented 3 days ago

このブランチでの対応事項

①Errnoによる処理の分岐を排除

動作を確認しました。

②fcntlの使用方法を``に制限

ノンブローキングで利用されることを確認しました。

③サーバ終了直後の起動時発生するbindエラーに対応

動作を確認しました。

paphio-kitsuki commented 9 hours ago

errnoをすべて削除しました。 makeによるコンパイルが通ることは確認済みです。

paphio-kitsuki commented 9 hours ago

すみません、#105 を混ぜちゃったので、#105 のあとにマージします