9 Star 41 Fork 28

happyfish100 / fastdfs-client-java

 / 详情

IPv6适配

待办的
创建于  
2023-12-21 15:40

trackerd.log日志:
ERROR - file: tracker_service.c, line: 1144, cmd=69, client ip addr: XXXX, package size 5 is not correct, expect 4 bytes

代码:
org.csource.fastdfs.TrackerClient#fetchStorageIds中
byte[] header = ProtoCommon.packHeader((byte)69, 5L, (byte)0);

应该需要改成4吧
byte[] header = ProtoCommon.packHeader((byte)69, 4L, (byte)0);

评论 (6)

lufeng 创建了任务
lufeng 修改了描述
lufeng 修改了描述
展开全部操作日志

server端要用最新的 v6.11,用master分支或者V6.11.0这个tag均可。

用的就是最新的master编译的

改成4L 就正常了。昨天还发现tracker_service.c里面处理IPV6的时候有问题,pIpAndPort = pTask->recv.ptr->data + sizeof(TrackerHeader) 的值是如"2201:db0:1:0:5825:2a6a:6c4a:8907:22122"不带"[]"的地址加端口,22122是端口,导致按照IPv4解析的。把地址端口的解析改了之后,就可以正常使用。我的环境是3个服务器集群的

好像确实fdfs server的代码下错了。

tracker_service.c里面tracker_deal_commit_next_leader
if (splitEx(pIpAndPort, ':', ipAndPort, 2) != 2)
这个处理IPv6地址没问题吗

感谢反馈,刚才修复了。

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
Java
1
https://gitee.com/fastdfs100/fastdfs-client-java.git
git@gitee.com:fastdfs100/fastdfs-client-java.git
fastdfs100
fastdfs-client-java
fastdfs-client-java

搜索帮助

344bd9b3 5694891 D2dac590 5694891