折腾MC服务器Motd的一天
今天想试试用usocket获取MC Java版服务器的Motd,结果被教育了一下午。代码长这样:
(ql:quickload "usocket")
(add-package-local-nickname :u :usocket)
(defparameter socket (u:socket-connect "mc.hypixel.net" 25565
:element-type '(unsigned-byte 8)))
(defparameter str (u:socket-stream socket))
(write-sequence #(16 0 212 2 13
109 99 46 104 121 112 105 120 101 108 46 110 101 116
99 221 1)
str)
(force-output str)
(write-sequence #(1 0) str)
(force-output str)
(read-byte str)
看着挺像回事的吧?中间报错调了好几轮,总算能跑通了。
结果服务器那边啥反应都没有,read-byte直接卡住。
去找了个现成的项目BlackBEDevelopment/MCBE-Server-Motd,对着源码看了好几遍,实在看不出哪儿有问题。抱着试试看的心态跑了一下人家的代码--沃德天,人家的代码跑得溜溜的!
同样的逻辑,同样的流程,区别就是我的不行。😭😭😭
就这样吧,记录一下今天的折腾成果。
页: [1]