これは最新版の記事です。
公式からダウンロードできる安定版の場合は使用できない可能性が高いです。

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"が表示されます