我在Windows上使用Git 2.9。当我使用git daemon创建演示Git培训时,遇到了SO_KEEPALIVE错误。
@Server
$ git daemon --base-path=. --enable=receive-pack --verbose
[18608] Ready to rumble
[18108] Connection from 127.0.0.1:61111
[18108] unable to set SO_KEEPALIVE on socket: No error
[18108] Extended attributes (16 bytes) exist <host=127.0.0.1>
[18108] Request receive-pack for '/hello-world.git'
@ACommitter
$ git push -u origin "john--01--create-app-saying-hello"
为什么会出现这种情况?
git-daemon
实例起作用? 对我来说,这个错误看起来是无害的:SO_KEEPALIVE
启用TCP级别的keepalive,但是在默认设置中,今天广泛使用的大多数操作系统都有一个疯狂长的超时时间(比如,两个小时)来发送keepalive数据包。 换句话说,此设置旨在使持久的空闲连接保持活动状态,而 Git 不是这种情况的用例,因为其获取/推送会话是短暂且流量密集的。 因此,我认为可以忽略此错误。 - kostix