Python: TCP Server
基本
Cのsokcet programmingとほとんど同じ
Server側
- create socket
- bind socket to (host, port)
- socket listens with qsize
- socket accepts connection
- socket recv msg from a client
- socket send msg to a client
Client側
- create socket
- socket connects to a server
- socket send msg to a server
- socket recv msg from a server
Workerを使う
シングルスレッドだと処理が重いので,Workerプロセスを使う
Main process
- create socket
- bind socket to (host, port)
- socket listens with qsize
- pass socket to child process
Child process
- socket accepts connection
- socket recv msg from a client
- socket send msg to a client
- msgを処理したらconn.shutdown, conn.close
今回はこうしているだけで,connを切らない方がいい場合もある.
コード
参考
- http://docs.python.jp/2.7/library/socket.html
- http://momijiame.tumblr.com/post/22314461916/python-%E3%81%A7%E3%83%9E%E3%83%AB%E3%83%81%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E5%9E%8B-tcp-%E3%82%B5%E3%83%BC%E3%83%90%E3%82%92%E6%9B%B8%E3%81%8F%E7%B7%B4%E7%BF%92
- http://memo.saitodev.com/home/python_network_programing/