README
¶
net/textprotoのPipelineサンプル
net/textproto パッケージは、テキストプロトコルを扱う通信処理を処理しやすくするパッケージ。
Package textproto implements generic support for text-based request/response protocols in the style of HTTP, NNTP, and SMTP.
(textprotoパッケージは、HTTP、NNTP、SMTPスタイルのテキストベースのリクエスト/レスポンスプロトコルの汎用サポートを実装します。)
textprotoパッケージにはパイプラインという仕組みがあり、これを利用すると順序保証した状態で送受信を行うことが出来る。
一連のシーケンスを連続して送信したりする場合に有効。
実行
先に「ターミナル2」を起動しておき、その後に「ターミナル1」を実行。
ターミナル1
$ task
task: [build] go build -o app .
task: [run] ./app -server &
task: [run] sleep 1
task: [run] ./app
< ADD 480635715
< ADD 480686755
< ADD 480707125
< ADD 480717295
< ADD 480732305
200 ADDED 480635715
200 ADDED 480686755
200 ADDED 480707125
200 ADDED 480717295
200 ADDED 480732305
< TOTAL
200 2403479195
< QUIT
200 BYE
ターミナル2
$ task watch
task: [watch] sudo tcpdump -i lo -n 'tcp port 8888' -S -X
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on lo, link-type EN10MB (Ethernet), snapshot length 262144 bytes
07:24:23.117926 IP 127.0.0.1.39138 > 127.0.0.1.8888: Flags [S], seq 3699364872, win 43690, options [mss 65495,sackOK,TS val 3360604880 ecr 0,nop,wscale 7], length 0
0x0000: 4500 003c 48a8 4000 4006 f411 7f00 0001 E..<H.@.@.......
0x0010: 7f00 0001 98e2 22b8 dc7f d408 0000 0000 ......".........
0x0020: a002 aaaa fe30 0000 0204 ffd7 0402 080a .....0..........
0x0030: c84e c2d0 0000 0000 0103 0307 .N..........
07:24:23.117937 IP 127.0.0.1.8888 > 127.0.0.1.39138: Flags [S.], seq 111167116, ack 3699364873, win 43690, options [mss 65495,sackOK,TS val 3360604880 ecr 3360604880,nop,wscale 7], length 0
0x0000: 4500 003c 0000 4000 4006 3cba 7f00 0001 E..<..@.@.<.....
0x0010: 7f00 0001 22b8 98e2 06a0 468c dc7f d409 ....".....F.....
0x0020: a012 aaaa fe30 0000 0204 ffd7 0402 080a .....0..........
0x0030: c84e c2d0 c84e c2d0 0103 0307 .N...N......
07:24:23.117946 IP 127.0.0.1.39138 > 127.0.0.1.8888: Flags [.], ack 111167117, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 0
0x0000: 4500 0034 48a9 4000 4006 f418 7f00 0001 E..4H.@.@.......
0x0010: 7f00 0001 98e2 22b8 dc7f d409 06a0 468d ......".......F.
0x0020: 8010 0156 fe28 0000 0101 080a c84e c2d0 ...V.(.......N..
0x0030: c84e c2d0 .N..
07:24:23.118084 IP 127.0.0.1.39138 > 127.0.0.1.8888: Flags [P.], seq 3699364873:3699364888, ack 111167117, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 15
0x0000: 4500 0043 48aa 4000 4006 f408 7f00 0001 E..CH.@.@.......
0x0010: 7f00 0001 98e2 22b8 dc7f d409 06a0 468d ......".......F.
0x0020: 8018 0156 fe37 0000 0101 080a c84e c2d0 ...V.7.......N..
0x0030: c84e c2d0 4144 4420 3131 3830 3334 3434 .N..ADD.11803444
0x0040: 310d 0a 1..
07:24:23.118097 IP 127.0.0.1.8888 > 127.0.0.1.39138: Flags [.], ack 3699364888, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 0
0x0000: 4500 0034 47bb 4000 4006 f506 7f00 0001 E..4G.@.@.......
0x0010: 7f00 0001 22b8 98e2 06a0 468d dc7f d418 ....".....F.....
0x0020: 8010 0156 fe28 0000 0101 080a c84e c2d0 ...V.(.......N..
0x0030: c84e c2d0 .N..
07:24:23.118124 IP 127.0.0.1.39138 > 127.0.0.1.8888: Flags [P.], seq 3699364888:3699364903, ack 111167117, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 15
0x0000: 4500 0043 48ab 4000 4006 f407 7f00 0001 E..CH.@.@.......
0x0010: 7f00 0001 98e2 22b8 dc7f d418 06a0 468d ......".......F.
0x0020: 8018 0156 fe37 0000 0101 080a c84e c2d0 ...V.7.......N..
0x0030: c84e c2d0 4144 4420 3131 3831 3034 3831 .N..ADD.11810481
0x0040: 310d 0a 1..
07:24:23.118128 IP 127.0.0.1.8888 > 127.0.0.1.39138: Flags [.], ack 3699364903, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 0
0x0000: 4500 0034 47bc 4000 4006 f505 7f00 0001 E..4G.@.@.......
0x0010: 7f00 0001 22b8 98e2 06a0 468d dc7f d427 ....".....F....'
0x0020: 8010 0156 fe28 0000 0101 080a c84e c2d0 ...V.(.......N..
0x0030: c84e c2d0 .N..
07:24:23.118142 IP 127.0.0.1.39138 > 127.0.0.1.8888: Flags [P.], seq 3699364903:3699364918, ack 111167117, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 15
0x0000: 4500 0043 48ac 4000 4006 f406 7f00 0001 E..CH.@.@.......
0x0010: 7f00 0001 98e2 22b8 dc7f d427 06a0 468d ......"....'..F.
0x0020: 8018 0156 fe37 0000 0101 080a c84e c2d0 ...V.7.......N..
0x0030: c84e c2d0 4144 4420 3131 3831 3332 3739 .N..ADD.11813279
0x0040: 310d 0a 1..
07:24:23.118153 IP 127.0.0.1.39138 > 127.0.0.1.8888: Flags [P.], seq 3699364918:3699364933, ack 111167117, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 15
0x0000: 4500 0043 48ad 4000 4006 f405 7f00 0001 E..CH.@.@.......
0x0010: 7f00 0001 98e2 22b8 dc7f d436 06a0 468d ......"....6..F.
0x0020: 8018 0156 fe37 0000 0101 080a c84e c2d0 ...V.7.......N..
0x0030: c84e c2d0 4144 4420 3131 3831 3435 3039 .N..ADD.11814509
0x0040: 310d 0a 1..
07:24:23.118154 IP 127.0.0.1.8888 > 127.0.0.1.39138: Flags [P.], seq 111167117:111167130, ack 3699364903, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 13
0x0000: 4500 0041 47bd 4000 4006 f4f7 7f00 0001 E..AG.@.@.......
0x0010: 7f00 0001 22b8 98e2 06a0 468d dc7f d427 ....".....F....'
0x0020: 8018 0156 fe35 0000 0101 080a c84e c2d0 ...V.5.......N..
0x0030: c84e c2d0 3230 3020 5355 4343 4553 530d .N..200.SUCCESS.
0x0040: 0a .
07:24:23.118167 IP 127.0.0.1.39138 > 127.0.0.1.8888: Flags [.], ack 111167130, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 0
0x0000: 4500 0034 48ae 4000 4006 f413 7f00 0001 E..4H.@.@.......
0x0010: 7f00 0001 98e2 22b8 dc7f d445 06a0 469a ......"....E..F.
0x0020: 8010 0156 fe28 0000 0101 080a c84e c2d0 ...V.(.......N..
0x0030: c84e c2d0 .N..
07:24:23.118170 IP 127.0.0.1.39138 > 127.0.0.1.8888: Flags [P.], seq 3699364933:3699364948, ack 111167130, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 15
0x0000: 4500 0043 48af 4000 4006 f403 7f00 0001 E..CH.@.@.......
0x0010: 7f00 0001 98e2 22b8 dc7f d445 06a0 469a ......"....E..F.
0x0020: 8018 0156 fe37 0000 0101 080a c84e c2d0 ...V.7.......N..
0x0030: c84e c2d0 4144 4420 3131 3831 3536 3438 .N..ADD.11815648
0x0040: 310d 0a 1..
07:24:23.118188 IP 127.0.0.1.8888 > 127.0.0.1.39138: Flags [.], ack 3699364948, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 0
0x0000: 4500 0034 47be 4000 4006 f503 7f00 0001 E..4G.@.@.......
0x0010: 7f00 0001 22b8 98e2 06a0 469a dc7f d454 ....".....F....T
0x0020: 8010 0156 fe28 0000 0101 080a c84e c2d0 ...V.(.......N..
0x0030: c84e c2d0 .N..
07:24:23.118203 IP 127.0.0.1.8888 > 127.0.0.1.39138: Flags [P.], seq 111167130:111167143, ack 3699364948, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 13
0x0000: 4500 0041 47bf 4000 4006 f4f5 7f00 0001 E..AG.@.@.......
0x0010: 7f00 0001 22b8 98e2 06a0 469a dc7f d454 ....".....F....T
0x0020: 8018 0156 fe35 0000 0101 080a c84e c2d0 ...V.5.......N..
0x0030: c84e c2d0 3230 3020 5355 4343 4553 530d .N..200.SUCCESS.
0x0040: 0a .
07:24:23.118220 IP 127.0.0.1.8888 > 127.0.0.1.39138: Flags [P.], seq 111167143:111167156, ack 3699364948, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 13
0x0000: 4500 0041 47c0 4000 4006 f4f4 7f00 0001 E..AG.@.@.......
0x0010: 7f00 0001 22b8 98e2 06a0 46a7 dc7f d454 ....".....F....T
0x0020: 8018 0156 fe35 0000 0101 080a c84e c2d0 ...V.5.......N..
0x0030: c84e c2d0 3230 3020 5355 4343 4553 530d .N..200.SUCCESS.
0x0040: 0a .
07:24:23.118232 IP 127.0.0.1.8888 > 127.0.0.1.39138: Flags [P.], seq 111167156:111167169, ack 3699364948, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 13
0x0000: 4500 0041 47c1 4000 4006 f4f3 7f00 0001 E..AG.@.@.......
0x0010: 7f00 0001 22b8 98e2 06a0 46b4 dc7f d454 ....".....F....T
0x0020: 8018 0156 fe35 0000 0101 080a c84e c2d0 ...V.5.......N..
0x0030: c84e c2d0 3230 3020 5355 4343 4553 530d .N..200.SUCCESS.
0x0040: 0a .
07:24:23.118244 IP 127.0.0.1.8888 > 127.0.0.1.39138: Flags [P.], seq 111167169:111167182, ack 3699364948, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 13
0x0000: 4500 0041 47c2 4000 4006 f4f2 7f00 0001 E..AG.@.@.......
0x0010: 7f00 0001 22b8 98e2 06a0 46c1 dc7f d454 ....".....F....T
0x0020: 8018 0156 fe35 0000 0101 080a c84e c2d0 ...V.5.......N..
0x0030: c84e c2d0 3230 3020 5355 4343 4553 530d .N..200.SUCCESS.
0x0040: 0a .
07:24:23.118257 IP 127.0.0.1.39138 > 127.0.0.1.8888: Flags [.], ack 111167182, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 0
0x0000: 4500 0034 48b0 4000 4006 f411 7f00 0001 E..4H.@.@.......
0x0010: 7f00 0001 98e2 22b8 dc7f d454 06a0 46ce ......"....T..F.
0x0020: 8010 0156 fe28 0000 0101 080a c84e c2d0 ...V.(.......N..
0x0030: c84e c2d0 .N..
07:24:23.118305 IP 127.0.0.1.39138 > 127.0.0.1.8888: Flags [P.], seq 3699364948:3699364955, ack 111167182, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 7
0x0000: 4500 003b 48b1 4000 4006 f409 7f00 0001 E..;H.@.@.......
0x0010: 7f00 0001 98e2 22b8 dc7f d454 06a0 46ce ......"....T..F.
0x0020: 8018 0156 fe2f 0000 0101 080a c84e c2d0 ...V./.......N..
0x0030: c84e c2d0 544f 5441 4c0d 0a .N..TOTAL..
07:24:23.118358 IP 127.0.0.1.8888 > 127.0.0.1.39138: Flags [P.], seq 111167182:111167197, ack 3699364955, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 15
0x0000: 4500 0043 47c3 4000 4006 f4ef 7f00 0001 E..CG.@.@.......
0x0010: 7f00 0001 22b8 98e2 06a0 46ce dc7f d45b ....".....F....[
0x0020: 8018 0156 fe37 0000 0101 080a c84e c2d0 ...V.7.......N..
0x0030: c84e c2d0 3230 3020 3539 3035 3733 3631 .N..200.59057361
0x0040: 350d 0a 5..
07:24:23.118405 IP 127.0.0.1.39138 > 127.0.0.1.8888: Flags [P.], seq 3699364955:3699364961, ack 111167197, win 342, options [nop,nop,TS val 3360604880 ecr 3360604880], length 6
0x0000: 4500 003a 48b2 4000 4006 f409 7f00 0001 E..:H.@.@.......
0x0010: 7f00 0001 98e2 22b8 dc7f d45b 06a0 46dd ......"....[..F.
0x0020: 8018 0156 fe2e 0000 0101 080a c84e c2d0 ...V.........N..
0x0030: c84e c2d0 5155 4954 0d0a .N..QUIT..
07:24:23.118435 IP 127.0.0.1.8888 > 127.0.0.1.39138: Flags [P.], seq 111167197:111167206, ack 3699364961, win 342, options [nop,nop,TS val 3360604881 ecr 3360604880], length 9
0x0000: 4500 003d 47c4 4000 4006 f4f4 7f00 0001 E..=G.@.@.......
0x0010: 7f00 0001 22b8 98e2 06a0 46dd dc7f d461 ....".....F....a
0x0020: 8018 0156 fe31 0000 0101 080a c84e c2d1 ...V.1.......N..
0x0030: c84e c2d0 3230 3020 4259 450d 0a .N..200.BYE..
07:24:23.118459 IP 127.0.0.1.8888 > 127.0.0.1.39138: Flags [F.], seq 111167206, ack 3699364961, win 342, options [nop,nop,TS val 3360604881 ecr 3360604880], length 0
0x0000: 4500 0034 47c5 4000 4006 f4fc 7f00 0001 E..4G.@.@.......
0x0010: 7f00 0001 22b8 98e2 06a0 46e6 dc7f d461 ....".....F....a
0x0020: 8011 0156 fe28 0000 0101 080a c84e c2d1 ...V.(.......N..
0x0030: c84e c2d0 .N..
07:24:23.118518 IP 127.0.0.1.39138 > 127.0.0.1.8888: Flags [F.], seq 3699364961, ack 111167207, win 342, options [nop,nop,TS val 3360604881 ecr 3360604881], length 0
0x0000: 4500 0034 48b3 4000 4006 f40e 7f00 0001 E..4H.@.@.......
0x0010: 7f00 0001 98e2 22b8 dc7f d461 06a0 46e7 ......"....a..F.
0x0020: 8011 0156 fe28 0000 0101 080a c84e c2d1 ...V.(.......N..
0x0030: c84e c2d1 .N..
07:24:23.118551 IP 127.0.0.1.8888 > 127.0.0.1.39138: Flags [.], ack 3699364962, win 342, options [nop,nop,TS val 3360604881 ecr 3360604881], length 0
0x0000: 4500 0034 47c6 4000 4006 f4fb 7f00 0001 E..4G.@.@.......
0x0010: 7f00 0001 22b8 98e2 06a0 46e7 dc7f d462 ....".....F....b
0x0020: 8010 0156 fe28 0000 0101 080a c84e c2d1 ...V.(.......N..
0x0030: c84e c2d1 .N..
^C
25 packets captured
50 packets received by filter
0 packets dropped by kernel
Documentation
¶
There is no documentation for this package.
Click to show internal directories.
Click to hide internal directories.