takumi-server_list_ping 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/takumi/server_list_ping.rb +9 -1
- data/lib/takumi/server_list_ping/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f68ffcfc9dcb2e1b74eab01eb1a9b7f551e9c0f0
|
4
|
+
data.tar.gz: 5dae21f488e18f22c1ee57103ab395100c49b342
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 553d8bdad315b64417b12d64750348b49a139b4714515801b6257ec22c2b5de996838ca48d673ed2caa9763f2860398fb7cb22ecbcb9060243c651fad5e52106
|
7
|
+
data.tar.gz: 8ca4354f5401f12037effc988ff75089db43828b8c679df54289ff0284449cccf9d6bb18e894aa0c01ae240c9946033a5a67612f88bf7b16e7abc2734e9917cb
|
@@ -14,10 +14,18 @@ module Takumi
|
|
14
14
|
status_request = Takumi::ServerListPing::StatusRequest.create
|
15
15
|
|
16
16
|
socket = TCPSocket.open(handshake.server_address, handshake.port)
|
17
|
+
socket.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1)
|
17
18
|
socket.write(handshake.to_s)
|
18
19
|
socket.write(status_request.to_s)
|
20
|
+
socket.flush
|
19
21
|
|
20
|
-
|
22
|
+
packets = "".encode(Encoding::BINARY)
|
23
|
+
loop do
|
24
|
+
buf = socket.recv(1024)
|
25
|
+
break if buf.empty?
|
26
|
+
packets << buf
|
27
|
+
end
|
28
|
+
Takumi::ServerListPing::StatusResponse.decode(packets)
|
21
29
|
ensure
|
22
30
|
socket.close if socket
|
23
31
|
end
|