Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
ネットワークこわいネットワークこわい
とちぎ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
Próxima SlideShare
Cargando en…5
×

ネットワークこわい

937 visualizaciones

Publicado el

とちぎRuby会議07 LT その2

Publicado en: Tecnología
  • Sé el primero en comentar

ネットワークこわい

  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

×