У меня было несколько проектов и макетов с использованием TCP-сокета, но это первый раз, когда я столкнулся с этим.TCP Socket не получает данные, пишет/отправляет не таймаут?
У меня есть серверное приложение Linux на платформе Solaris sparc, которое должно принимать соединение с OCX на веб-сервере, но данных не получено. Я использовал netstat для проверки того, что соединение установлено.
Я создал крошечный клиент tcp для подключения к веб-серверу/ocx, но то, что происходит, - это запись, когда он останавливается, и тайм-аут никогда не возникает. Даже если я оставил соединение и подождал несколько часов, ничего не происходит. Я даже дошел до использования setsockopt, чтобы убедиться, что установлено значение минимального таймаута. Кроме того, на другом конце не принимаются данные, а оператор select делает тайм-аут во время опроса набора fd.
У кого-нибудь есть идея, почему писать или отправлять не будет тайм-аут во время записи в sokcet? Кроме того, кто-нибудь знает, почему на сервере набор read fd не был установлен?
здесь свалка из подглядывать:
solaris61 -> 10.1.0.37 TCP D=8882 S=35111 Fin Ack=1805515051 Seq=897643511 Len=0 Win=49640
10.1.0.37 -> solaris61 TCP D=35111 S=8882 Ack=897643512 Seq=1805515051 Len=0 Win=24818
solaris61 -> 10.1.0.37 TCP D=8882 S=35112 Syn Seq=921698308 Len=0 Win=49640 Options=<mss 1460,nop,wscale 0,nop,nop,sackOK>
10.1.0.37 -> solaris61 TCP D=35112 S=8882 Syn Ack=921698309 Seq=1829645518 Len=0 Win=24820 Options=<nop,wscale 0,nop,nop,sackOK,mss 1460>
solaris61 -> 10.1.0.37 TCP D=8882 S=35112 Ack=1829645519 Seq=921698309 Len=0 Win=49640
solaris61 -> 10.1.0.37 TCP D=8882 S=35112 Push Ack=1829645519 Seq=921698309 Len=2 Win=49640
10.1.0.37 -> solaris61 TCP D=35112 S=8882 Ack=921698311 Seq=1829645519 Len=0 Win=24818
с помощью "Snoop -x0 -s1500"
solaris61 -> 10.1.0.37 TCP D = 8882 S = 35291 Syn Seq = 4205016629 Len = 0 Win = 49640 Опции =
0: 0800 20f5 a3b5 000c 295d 6f44 0800 4500 .. .....)]oD..E.
16: 0034 e4c7 4000 4006 0000 0a01 003d 0a01 [email protected]@......=..
32: 0025 89db 22b2 faa3 7635 0000 0000 8002 .%.."...v5......
48: c1e8 148a 0000 0204 05b4 0103 0300 0101 .è..............
64: 0402 ..
10.1.0.37 -> solaris61 TCP-D = 35291 S = 8882 SYN ACK = 4205016630 = 799808987 Seq Len = 0 Win = 24820 Опции =
0: 000c 295d 6f44 0800 20f5 a3b5 0800 4500 ..)]oD.. .....E.
16: 0034 c849 4000 4006 5e17 0a01 0025 0a01 [email protected]@.^....%..
32: 003d 22b2 89db 2fac 1ddb faa3 7636 8012 .=".../.....v6..
48: 60f4 8ec1 0000 0103 0300 0101 0402 0204 `...............
64: 05b4 ..
solaris61 -> 10.1.0.37 TCP-D = 8882 S = 35291 Ack = 799808988 = 4205016630 Seq Len = 0 Win = 49640
0: 0800 20f5 a3b5 000c 295d 6f44 0800 4500 .. .....)]oD..E.
16: 0028 e4c8 4000 4006 0000 0a01 003d 0a01 .([email protected]@......=..
32: 0025 89db 22b2 faa3 7636 2fac 1ddc 5010 .%.."...v6/...P.
48: c1e8 147e 0000 .è.~..
solaris61 -> 10.1.0.37 TCP-D = 8882 S = 35291 Нажмите Ack = 799808988 = 4205016630 Seq Len = 2 Win = 49640
0: 0800 20f5 a3b5 000c 295d 6f44 0800 4500 .. .....)]oD..E.
16: 002a e4c9 4000 4006 0000 0a01 003d 0a01 .*[email protected]@......=..
32: 0025 89db 22b2 faa3 7636 2fac 1ddc 5018 .%.."...v6/...P.
48: c1e8 1480 0000 750a .è....u.
10.1.0.37 -> solaris61 TCP-D = 35291 S = 8882 Ack = 4205016632 = 799808988 Seq Len = 0 Win = 24818
0: 000c 295d 6f44 0800 20f5 a3b5 0800 4500 ..)]oD.. .....E.
16: 0028 c84a 4000 4006 5e22 0a01 0025 0a01 .([email protected]@.^"...%..
32: 003d 22b2 89db 2fac 1ddc faa3 7638 5010 .=".../.....v8P.
48: 60f2 cf8c 0000 5555 5555 5555 `.....UUUUUU
solaris61 -> 10.1.0.37 TCP-D = 8882 S = 35291 Ребро Ack = 799808988 = 4205016632 Seq Len = 0 Win = 49640
0: 0800 20f5 a3b5 000c 295d 6f44 0800 4500 .. .....)]oD..E.
16: 0028 e4ca 4000 4006 0000 0a01 003d 0a01 .([email protected]@......=..
32: 0025 89db 22b2 faa3 7638 2fac 1ddc 5011 .%.."...v8/...P.
48: c1e8 147e 0000 .è.~..
10.1.0.37 -> solaris61 TCP-D = 35291 S = 8882 Ack = 4205016633 Seq = 799808988 Len = 0 Win = 24818
0: 000c 295d 6f44 0800 20f5 a3b5 0800 4500 ..)]oD.. .....E.
16: 0028 c84b 4000 4006 5e21 0a01 0025 0a01 .([email protected]@.^!...%..
32: 003d 22b2 89db 2fac 1ddc faa3 7639 5010 .=".../.....v9P.
48: 60f2 cf8b 0000 5555 5555 5555 `.....UUUUUU
solaris61 -> 10.1.0.37 TCP D = 8882 S = 35111 Fin Ack = 1805515051 Seq = 897643511 Len = 0 Win = 49640 10.1.0.37 -> solaris61 TCP-D = 35111 S = 8882 Ack = 897643512 = 1805515051 Seq Len = 0 Win = 24818 solaris61 -> 10.1.0.37 TCP-D = 8882 S = 35112 = син СтартПослед 921698308 Len = 0 Win = 49640 Опции = 10.1.0.37 -> solaris61 TCP D = 35112 S = 8882 Syn Ack = 921698309 Seq = 1829645518 Len = 0 Win = 24820 Опции = < nop, wscale 0, nop, nop, sackOK, mss 1460> solaris61 -> 10. 1.0.37 TCP D = 8882 S = 35112 Ack = 1829645519 Seq = 921698309 Len = 0 Win = 49640 –
marcus
2010-11-24 16:46:35
solaris61 -> 10.1.0.37 TCP D = 8882 S = 35112 Push Ack = 1829645519 Seq = 921698309 Len = 2 Win = 49640 10.1.0.37 -> solaris61 TCP D = 35112 S = 8882 Ack = 921698311 Seq = 1829645519 Len = 0 Win = 24818 – marcus 2010-11-24 16:46:56
@marcus, вы можете отредактировать сам вопрос, там было бы гораздо читабельнее. – 2010-11-24 16:49:39