1.tcp连接在断网后能恢复吗?
做项目中遇到一个问题。
两台机器上用socket建立一个TCP连接,双向通信,流量很大,这时,通过在路由器上设置100%的丢包率将网络断开,这时 socket当然是发不了包,也收不了,出现大量的重传,然后,取消路由器上的设置,恢复网络,结果,TCP连接client去往server的流量正常了,但server去往client却不通,任凭你如何使劲的send,返回值就是0,而且errno为EAGAIN。 我用tcpdump看了一下此时的包数据(tc2是server,tc1是client): 12:08:21。
020291 IP tc1。corp。
com。42171 > tc2。
corp。com。
3003: S 4009389430:4009389430(0) win 5840 12:08:21。 020571 IP tc2。
corp。com。
3003 > tc1。corp。
com。42171: R 0:0(0) ack 4009389431 win 0 12:08:38。
934329 IP tc2。corp。
com。3903 > tc1。
corp。com。
3904: P 2398055392:2398056153(761) ack 2538876742 win 724 12:08:38。934519 IP tc1。
corp。com。
3904 > tc2。corp。
com。3903: 。
ack 2165 win 13756 12:08:39。958457 IP tc1。
corp。com。
3904 > tc2。corp。
com。3903: P 1:763(762) ack 2165 win 13756 12:08:39。
958485 IP tc2。corp。
com。3903 > tc1。
corp。com。
3904: 。 ack 763 win 1448 12:08:39。
958653 IP tc1。corp。
com。3904 > tc2。
corp。com。
3903: P 763:881(118) ack 2165 win 13756 12:08:39。958660 IP tc1。
corp。com。
3904 > tc2。corp。
com。3903: P 881:997(116) ack 2165 win 13756 12:08:39。
958719 IP tc2。corp。
com。3903 > tc1。
corp。com。
3904: 。 ack 997 win 1448 12:08:39。
958890 IP tc1。corp。
com。3904 > tc2。
corp。com。
3903: P 997:1114(117) ack 2165 win 13756 12:08:39。958898 IP tc1。
corp。com。
3904 > tc2。corp。
com。3903: P 1114:1232(118) ack 2165 win 13756 12:08:39。
958903 IP tc1。corp。
com。3904 > tc2。
corp。com。
3903: P 1232:1349(117) ack 2165 win 13756 12:08:39。958971 IP tc2。
corp。com。
3903 > tc1。 corp。
com。3904: 。
ack 1349 win 1448 12:08:39。959141 IP tc1。
corp。com。
3904 > tc2。corp。
com。3903: P 1349:1466(117) ack 2165 win 13756 12:08:39。
959149 IP tc1。corp。
com。3904 > tc2。
corp。com。
3903: P 1466:1583(117) ack 2165 win 13756 12:08:39。959154 IP tc1。
corp。com。
3904 > tc2。 corp。
com。3903: P 1583:1700(117) ack 2165 win 13756 12:08:39。
959222 IP tc2。corp。
com。3903 > tc1。
corp。com。
3904: 。 ack 1700 win 1448 tc2不发自己的数据,却只是一味的ACK从tc1传来的数据,等上半个小时,依然如此。
它为什么不发呢? 最后发现是因为我们在socket上设了TCP_NODELAY。去掉这个设置,重启程序,断网恢复以后,TCP双向正常工作。
同样用tcpdump看: 16:05:38。782427 IP tc2。
corp。alimama。
com。 3903 > tc1。
corp。alimama。
com。3904: P 0:887(887) ack 1 win 26064 16:05:38。
782619 IP tc1。corp。
alimama。com。
3904 > tc2。corp。
alimama。 com。
3903: 。 ack 3783 win 25352 16:05:38。
782634 IP tc2。corp。
alimama。com。
3903 > tc1。corp。
alimama。com。
3904: 。 3783:5231(1448) ack 1 win 26064 16:05:38。
782637 IP tc2。corp。
alimama。com。
3903 > tc1。corp。
alimama。com。
3904: 。 5231:6679(1448) ack 1 win 26064 16:05:38。
782890 IP tc1。 corp。
alimama。com。
3904 > tc2。corp。
alimama。com。
3903: 。 ack 5231 win 25352 16:05:38。
782896 IP tc2。corp。
alimama。com。
3903 > tc1。 corp。
alimama。com。
3904: 。 6679:8127(1448) ack 1 win 26064 16:05:38。
782898 IP tc2。corp。
alimama。com。
3903 > tc1。corp。
alimama。 com。
3904: 。 8127:9575(1448) ack 1 win 26064 16:05:38。
782901 IP tc1。corp。
alimama。com。
3904 > tc2。corp。
alimama。com。
3903: 。 ack 6679 win 25352 16:05:38。
782904 IP tc2。corp。
alimama。com。
3903 > tc1。corp。
alimama。com。
3904: 。 9575:11023(1448) ack 1 win 26064 16:05:38。
783183 IP tc1。 corp。
alimama。com。
3904 > tc2。corp。
alimama。com。
3903: 。 ack 8127 win 25352 16:05:38。
783188 IP tc2。corp。
alimama。com。
3903 > tc1。 corp。
alimama。com。
3904: 。 11023:12471(1448) ack 1 win 26064 16:05:38。
783191 IP tc1。corp。
alimama。com。
3904 > tc2。corp。
alimama。 com。
3903: 。 ack 9575 win 25352 16:05:38。
783193 IP tc2。corp。
alimama。com。
3903 > tc1。corp。
alimama。com。
3904: 。 12471:13919(1448) ack 1 win 26064 16:05:38。
783196 IP tc1。corp。
alimama。com。
3904 > tc2。corp。
alimama。com。
3903: 。 ack 11023 win 25352 16:05:38。
783199 IP tc2。corp。
alimama。 com。
3903 > tc1。corp。
alimama。com。
3904: 。 13919:15367(1448) ack 1 win 26064 16:05:38。
783201 IP tc2。corp。
alimama。com。
3903 > tc1。 corp。
alimama。com。
3904: 。 15367:16815(1448) ack 。
2.如何登录金蝶软件
一、问题:
很多客户新安装金蝶后,首次登录金蝶
KIS
专业版,都会有这样的提示“无效的服务
器或服务器不存在”
如图
1-1
:
图
1-1
金蝶提示
二、原因:
金蝶
KIS
专业版加密服务器没有启动
三、解决办法:
启动加密服务器,一般的路径是“开始—程序—金蝶—工具—加密服务器”
;见图
3-1
:
图
3-1
加密服务器路径
加密服务器启动成功后,显示如图
3-2
、图
3-3
:
北
图
3-2
未注册的加密服务器
图
3-3
已经注册的加密服务器
京地区试题 广东地区试题 江苏地区试题
如果没有显示系统使用情况,按【
F5
】刷新之后就会显示。强制注销针对的是已经连
接正在使用或未正常退出的系统或模块信息,此信息在加密服务器的框显示。
图
3-4
加密服务器系统使用情况