Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
ネットワークこわいネットワークこわい
とちぎRuby会議07
2017-08-26
とみたまさひろ
1
Ruby歴 約20年
(本日の老害枠の一人)
得意分野: 文字化け
Software Design 2016年12月号
「Rubyと文字コード」/「MySQLと文字コード」
Software Design 2017年7月号
「MySQL[SEL...
Ruby成分なし
3
ネットワークサーバープロセスを起動しようとしたら
エラー
% ruby -rsocket -e 'TCPServer.new(12345).accept'
-e:1:in `initialize': Address already in use...
「ははーん、さては誰かが12345ポートを掴んでるな」
5
あれ?
% sudo netstat -an | grep 12345
%
6
あれ?
% sudo lsof -i -P | grep 12345
%
7
なんだかわからない!
8
原因は…
9
ふつうはTCPサーバーは、
socket()
bind()
listen()
accept()
するんだけど
bind()で止まってるやつがいた
10
Rubyで書くとこんな感じ
Socket.new(:INET, :STREAM).
bind(Addrinfo.tcp("0.0.0.0", 12345))
sleep
11
このようなプロセスはどうやったら調べられるか
12
わかりません!���
13
こわい �������
14
Nächste SlideShare
Wird geladen in …5
×

ネットワークこわい

910 Aufrufe

Veröffentlicht am

とちぎRuby会議07 LT その2

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

ネットワークこわい

  1. 1. ネットワークこわいネットワークこわい とちぎRuby会議07 2017-08-26 とみたまさひろ 1
  2. 2. Ruby歴 約20年 (本日の老害枠の一人) 得意分野: 文字化け Software Design 2016年12月号 「Rubyと文字コード」/「MySQLと文字コード」 Software Design 2017年7月号 「MySQL[SELECT文]集中講座」 今日は長野から5時間かけてきました (普通に新幹線使えば3時間) 2
  3. 3. Ruby成分なし 3
  4. 4. ネットワークサーバープロセスを起動しようとしたら エラー % ruby -rsocket -e 'TCPServer.new(12345).accept' -e:1:in `initialize': Address already in use - bind(2) for nil port 12345 (Errno::EADDRINUSE) from -e:1:in `new' from -e:1:in `<main>' 4
  5. 5. 「ははーん、さては誰かが12345ポートを掴んでるな」 5
  6. 6. あれ? % sudo netstat -an | grep 12345 % 6
  7. 7. あれ? % sudo lsof -i -P | grep 12345 % 7
  8. 8. なんだかわからない! 8
  9. 9. 原因は… 9
  10. 10. ふつうはTCPサーバーは、 socket() bind() listen() accept() するんだけど bind()で止まってるやつがいた 10
  11. 11. Rubyで書くとこんな感じ Socket.new(:INET, :STREAM). bind(Addrinfo.tcp("0.0.0.0", 12345)) sleep 11
  12. 12. このようなプロセスはどうやったら調べられるか 12
  13. 13. わかりません!��� 13
  14. 14. こわい ������� 14

×