Created
February 27, 2017 16:36
-
-
Save popurax/2f4f5058688ccd80beee46a008f6b27a to your computer and use it in GitHub Desktop.
socketをお試しで使った
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#/usr/bin/env python3 | |
import socket | |
cli=socket.socket(socket.AF_INET,socket.SOCK_STREAM) // STREAMってなんだ?別のでもいいのか? | |
cli.connect(("localhost",3434)) // サーバと繋がるまでここで止まる。繋がると、cli.close() までのコードを実行する。 | |
msg=cli.recv(1024) // b'\xe3\x82\xb4\xe3\x83\x9f\xe7\xae\xb1' のバイト列がサーバから返され、1KBブロック?にして読み込む。 | |
print(msg.decode('utf-8')) // b'\xe3\x82\xb4\xe3\x83\x9f\xe7\xae\xb1' =[UTF-8符号化]=> "ゴミ箱" | |
cli.close() // 切れる。そして終わる。 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import socket | |
srv=socket.socket(socket.AF_INET,socket.SOCK_STREAM) // STREAMってなんだ?他のプロパティじゃダメなのか? | |
srv.bind( ("localhost",3434) ) // サーバとしての使命を全うする。 | |
srv.listen(5) // 同時5接続まで? | |
while True: | |
(clientsocket,address)=srv.accept() // サーバも実はクライアントみたいに動く。繋がると、clientsocket.close() までのコードを実行する。 | |
clientsocket.send('ゴミ箱'.encode('utf-8')) // "ゴミ箱" =[UTF-8符号化]=> b'\xe3\x82\xb4\xe3\x83\x9f\xe7\xae\xb1' | |
clientsocket.close() | |
// サーバの場合はずっとルーチンワークして、ずっと待機する。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Windowsのネットワークチューニングを何となく試そうと思ったが、「遅延ACKって何なんだろ」と変に疑問が湧いたので、勢いでググり、POSTDのTCP記事 のPythonでTCPスタックを書いたらどうなるのか?のコードを見ると、「ちょっとsocket試したくなってきたぞぉ」と内容無関係なことを4時間してた。
チューニングは明日やる(まあ忘れてるけど)