Godot与外部服务器的TCP连接

Godot与外部服务器的TCP连接,第1张

与正常的TCP连接一样,分3组,连接服务器、发送数据、接收数据,这里采用UTF-8格式进行数据通信

使用put_data方法可以正常发送数据,其它方法只能用于Godot的服务器与客户端之间通信,因为其它方法Godot会向数据前后添加几个字节的标识,使得数据发生改变

采用了while循环,可能会导致帧率降低,先判断收到>0的字节数,再将其转化为utf8字符

-采用socketserver包,可以方便的建立服务端

服务要监听,所以需要绑定端口,是从还没有使用的端口中分配的。当服务器端收到一个客户端的连接,socket里面有个叫End。

TCP协议里面,要连接到服务器,TCP协议中包含MAC,目标地址目标端口,源地址源端口等等。

首先你要明白路由是不是共享式NAT上网的,也就是说router port nat出去的数据是一直堆叠或者持续变动的,而不做端口映射基本没有实现的可能!
当然如果是静态NAT,那么直接做静态NAT就可以了!
如楼上灰鸽子,是直接通过本地服务端(中灰鸽子端)连接广域网客户端(控制端),然后服务端和建立的联系。如通过80端口出数据,穿透防火墙等等。
你可以尝试修改数据包出去的port,同时在两个端进行修改!
-------------
抓取到数据包的时候注意地址段,关键在于让路由到router nat到数据包的时候,能找到你的主机A或者W。
你可以参照一些三层更新之类的软件。

一、使用代理不同

1、TCP代理:面向连接的、可靠的、基于字节流的传输层通信协议的代理。

2、UDP代理:无需建立连接就可以发送封装的 IP 数据报的代理。

二、传输方式不同

1、TCP代理:把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)限制。之后TCP把数据包传给IP层,由来通过网络将包传送给接收端实体的TCP层。

2、UDP代理:除了给应用程序发送数据包功能并允许在所需的层次上架构自己的协议之外,几乎没有做什么特别的的事情。

三、分组方式不同

1、TCP代理:旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。

2、UDP代理:不提供数据包分组、组装和不能对数据包进行排序的缺点,当报文发送之后,是无法得知其是否安全完整到达的。

参考资料来源:百度百科-UDP

参考资料来源:百度百科-TCP

Web服务器。任我行端口服务器是Web服务器,由TCP、UDP、ARP、ICMP等一系列子协议组成的,其中,主要用来做传输数据使用的是TCP和UDP协议。在TCP和UDP协议中,都有端口号的概念存在。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13426778.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-03
下一篇 2023-08-03

发表评论

登录后才能评论

评论列表(0条)

保存