社区
Unity3D
帖子详情
Unity UDP 客户端接收消息 必须开多线程吗?
橘子你个布纳纳
2018-02-05 02:19:14
以前写的是TCP/IP的客户端,虽然很久远了,但是我隐约记得可以不用开新的线程就能用。
但是近来写UDP的客户端接收消息,网上查的方式都是要开启新的线程,虽然没有什么太大的问题,但是新开的线程无法直接调用Unity里面的组件,总归来说有一些不太方便,所以想问问大神有没有什么好的方法,或者能用协成直接处理呢?
...全文
1260
5
打赏
收藏
Unity UDP 客户端接收消息 必须开多线程吗?
以前写的是TCP/IP的客户端,虽然很久远了,但是我隐约记得可以不用开新的线程就能用。 但是近来写UDP的客户端接收消息,网上查的方式都是要开启新的线程,虽然没有什么太大的问题,但是新开的线程无法直接调用Unity里面的组件,总归来说有一些不太方便,所以想问问大神有没有什么好的方法,或者能用协成直接处理呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lee_鹿游原
2018-02-28
打赏
举报
回复
>访问unity assets store看看有没有合适的插件 或者看看 github。 >需要开线程,主线程和工作线程 共享一个数据列表(锁),工作线程收到数据,插入列表。主线程在update里每帧轮询,处理网络数据。
夫人的泡泡鱼
2018-02-27
打赏
举报
回复
做过UDP中的通信,有一点经验,开启线程接收放到队列中,在unity主线程中需要用数据的地方取出数据,实时效果基本可以满足要求。 参考下http://blog.csdn.net/zqckzqck/article/details/78882628
YYL_Debug
2018-02-23
打赏
举报
回复
都需要异步接受信息的。不然容易堵塞诶,至于不能调用unity中组件;是因为unity是单线程的,很多组件只能在主线程里调用; 建议做一步转换
无名剑
2018-02-22
打赏
举报
回复
一般来说 网络消息接收和发送都要开线程来做会好一点,即使是非阻塞的网络模型 试想TCP拼接数据包那些时间片如果每次都要等待处理结束再渲染,那帧率得多不稳定,而且多浪费时间片? 接收到的网络消息 可以存到一个消息队列,比如queue 里头, 然后交给主线程处理就OK了(注意防止资源竞争,读写加锁) 不管是TCP 还是 UDP 都是一个理
Unity
实现
UDP
客户端
与服务器通信功能
Unity
实现
UDP
客户端
与服务器通信功能简单实现 前言 在
Unity
开
发中,我们
开
发的程序经常需要和服务器或者其他的
客户端
进行通信,以便进行数据的传输。通信分好几种,比如TCP/IP,
UDP
,Socket等等。在之前的项目中,我做过一些使用
UDP
进行通信的项目。在这篇博客中我记录一下使用
UDP
实现一种最简单的
客户端
与服务器进行通信功能的流程。 实现步骤 1.在
Unity
项目中新建
UDP
通信脚本,代码如下所示: using
Unity
Engine; using System.Collections; //引
Unity
服务器
客户端
02---
接收
多个
客户端
和循环
接收
消息
服务器
开
启后肯定是等待多个
客户端
连接,这里使用一个死循环让服务器一直处于等待别
客户端
连接的状态,然后每连接一个
客户端
就
开
启一个线程
接收
客户端
发来的
消息
然后广播给每个
客户端
。 首先是服务端代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T...
Unity
与C#服务器 实现Socket的
UDP
通信(多
客户端
)
前言 上一篇简单的介绍了下
Unity
客户端
和服务器的Socket通信,但是还不能实现多个
客户端
与服务器的通信,所以今天在这边把前面的工程完善一下(使用的是上篇讲到的
Udp
Client类来实现),实现多个
客户端
与服务器的
udp
通信。效果图如下,两个
客户端
可以向服务器发送
消息
,然后服务器每隔3秒给“连接上”的
客户端
发送收到的
消息
。 内容 思路上一篇已经讲到过了,我们定义两个特殊的字段,来告知...
unity
Sockets通信 使用
UDP
协议,设置
客户端
电脑网络配置,使用新线程获取数据,解决卡顿问题,
点击高级设置,入站规则—创建:选择端口—选择
UDP
,所有本地端口,–允许连接—三个都勾选—起个名字如
UDP
连接。然后点击详细信息,拍照记住IPV4地址、IPV4子网掩码。IPv4网关,然后关闭。设置网络为专用网络,然后点击配置防火墙和安全设置,关闭防火墙。今天调试和服务器连接,发现始终获取不到服务器的数据,如果还未获取到,就需要设置自己的IP 地址为固定的了。电脑和服务器都在同一局域网,仍然获取不到,把刚才记录的东西 按下图以此填写设置,出站规则 和入站规则操作步骤一样。第二步:设置出站 入站规则。
Unity
使用
UDP
协议进行本地服务器和
客户端
互联互通
Unity
使用
UDP
协议进行本地服务器和
客户端
互联互通 前情提示: 在我们使用
unity
开
发的时候,难免会遇到两个主机或者多个主机之间的交互,(比如:
开
发双人蛋椅时,为了让蛋椅内两台主机相互通信),以及远程控制电脑关机,废话不多说了,代码直接奉上,各位大哥大姐,弟弟妹妹轻喷,不足之处请海涵。 服务器端: using
Unity
Engine; using System.Collections; using System.Net; using System.Net.Sockets; using System.
Unity3D
2,543
社区成员
2,142
社区内容
发帖
与我相关
我的任务
Unity3D
Unity3D相关内容讨论专区
复制链接
扫一扫
分享
社区描述
Unity3D相关内容讨论专区
游戏
unity
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
Unity3D社区公告:
社区致力于解决各种Unity3D相关的“疑难杂症”。
社区不允许发布与Unity3D或相关技术无关内容。
社区版主邀请各位一道为打造优秀社区不懈努力。
试试用AI创作助手写篇文章吧
+ 用AI写文章