これは最新版の記事です。
公式からダウンロードできる安定版の場合は使用できない可能性が高いです。
TCPサーバー
概要
ここではPythonクライアントとGodotのTCPサーバーの接続をします
Godotでサーバーを立てる
extends Node
const PORT = 6000
const HOST = "127.0.0.1"
var server := TCPServer.new()
var socket: StreamPeerTCP
func _ready():
while server.listen(PORT, HOST) != OK:
pass
func _process(_delta):
if !socket:
socket = server.take_connection()
return
if not socket.get_status():
print("reconnect server")
return socket.connect_to_host(HOST, PORT)
var byte = socket.get_available_bytes()
if not byte > 0:
return
var json = JSON.parse_string(socket.get_utf8_string(byte))
if json.has("error"):
return print(json.error)
print(data)
Pythonでデータを送信する
import socket
import time
servAddress = ('127.0.0.1', 6000)
def main():
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server.connect(servAddress)
data = str("ping").encode(encoding="utf-8")
while True:
try:
server.send(data)
except Exception as e:
print("cannot send: " + str(e))
time.sleep(1)
continue
if __name__ == "__main__":
main()
実行
Godotを実行してからPythonを実行すると"ping"が表示されます