You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求适配Python Websocket服务器的最简GDScript客户端代码及教程

问题解答

最简GDScript TCP回声客户端代码

首先注意:你提供的Python代码是TCP流式套接字服务端,并非WebSocket服务端,因此Godot客户端需要用StreamPeerTCP实现,而非WebSocket相关节点。以下是最简实现:

场景结构

创建一个场景,根节点用Node,添加以下子节点:

  • LineEdit(命名为LineEdit,用于输入消息)
  • Button(命名为SendButton,文本改为"发送")
  • Label(命名为ResponseLabel,用于显示服务器返回内容)

GDScript代码(挂在根Node上)

extends Node

var tcp_client: StreamPeerTCP = StreamPeerTCP.new()
const HOST: String = "127.0.0.1"
const PORT: int = 65432

func _ready() -> void:
    # 连接服务器
    var connect_error = tcp_client.connect_to_host(HOST, PORT)
    if connect_error != OK:
        print(f"连接失败: 错误码 {connect_error}")
    else:
        print("成功连接到服务器")
        # 启动监听线程(避免阻塞主线程)
        call_deferred("_start_server_listener")

# 持续监听服务器返回消息
func _start_server_listener() -> void:
    while tcp_client.is_connected():
        if tcp_client.get_available_bytes() > 0:
            # 读取所有可用字节并转为字符串
            var response = tcp_client.get_string(tcp_client.get_available_bytes())
            $ResponseLabel.text = "服务器回声: " + response
        # 短延迟避免占用过多CPU
        await get_tree().create_timer(0.1).timeout

# 发送消息(绑定到SendButton的pressed信号)
func _on_send_button_pressed() -> void:
    if not tcp_client.is_connected():
        print("未连接到服务器")
        return
    
    var message = $LineEdit.text.strip_edges()
    if message.empty():
        return
    
    tcp_client.put_string(message)
    $LineEdit.clear()

配置步骤

  1. 选中SendButton,在编辑器右侧「信号」面板找到pressed信号,点击「连接」,选择根节点的_on_send_button_pressed函数完成绑定。
  2. 先运行你的Python服务端,再启动Godot场景,输入文本点击「发送」即可看到回声。

入门教程与学习建议

  1. 先厘清协议概念:你提到的WebSocket和当前使用的TCP是两种不同协议,如果后续需要WebSocket服务端,需修改Python代码使用websockets库,Godot侧改用WebSocketClient节点。
  2. 官方文档重点章节:
    • 直接查看Godot官方文档中StreamPeerTCP的API说明,里面包含基础连接、收发的示例代码。
    • 阅读官方「网络」专题中的「TCP客户端/服务器」部分,了解Godot网络编程的基础逻辑。
  3. 官方演示项目:在Godot的官方示例库中搜索「Networking」相关项目,里面有现成的TCP通信Demo,可以直接参考调试。
  4. 分步学习:先实现基础的连接、收发,再逐步扩展到游戏需要的状态同步、规则处理,避免一开始就切入复杂场景。

内容的提问来源于stack exchange,提问作者Meme Magician

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 13:42:48