位置: 编程技术 - 正文

Unity3d使用socket传输图片(unity socket udp)

编辑:rootadmin

推荐整理分享Unity3d使用socket传输图片(unity socket udp),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity socket udp,unity socket阻塞问题,unity socket,unity socket udp,unity socket udp,unity3d socket,unity socketio,unity3d socket,内容如对您有帮助,希望把文章链接给更多的朋友!

C# socket通信只能传输的字节流,所以 我们若是想利用socket传输任何东西,都必须将之以字节的形式进行传输

So 本文就抛砖引玉一下,以传输图片的形式来示范一下,socket传输除文本数据以外的数据 嘻嘻~~~

既然是网络通信,那必然是有客户端和服务器端(通俗点说就是一发一收),那么就先说说客户端的那些事情吧!!!(ps:如果,不知道客户端是什么的兄弟们,请不要往下看了,先去恶补恶补网络通信的一些知识)在客户端,如果不说初始化socket那点事,那么,就只做一件事儿,就是将图片转换为字节数据,以便后边用Send函数进行传输,好吧,话不多说,直接上代码上边4行代码做了这么几件事情:1.定义一个需要被传输的字节数组fssize2.创建FileStream对象,并基于该对象创建了BinaryReader对象3.调用BinaryReader下的Read方法将数据读入fssize数组里边当然,个个函数的具体参数是什么意思,我这里不展开阐述,查查MSDN就明白就可以了解的我这里是将D盘的一张名为girl的图片转换为字节,这里要注意,要将图片的属性也写出来即D:/girl.jpg不能写成D:/girlover 客户端就这样的over了,来我们接着说说服务器端,也就是接收端,同样接收端要是撇卡初始化的那点事儿,那么,也变得尤为的简洁了,也就是将接收到的数据还原为图片当然,我这样说肯定很多人就默默的笑了,你不是废话的麽,肯定要还原的呀!!!哈哈 那就看看 如何还原的吧注意,这里使用Image类下的save方法,不能将数据保存在C盘,我之前就是在这里卡住了,切记.切记同样的,每个函数具体是神马意思,我就不展开阐述的了,翻阅MSDN你知道会比我这里讲述的更多....Everybody know that!!!!OK,上边,上边只是讲了讲核心的部分,下边我将会将完整的代码贴出来,主要实现的一个功能是:客户端点击发送图片按钮,在服务器端的界面上就会显示该图片

那怎么做的呢?

我的做法是:将传输过来的图片保存在Asset下的Resources(没有的话自己创建一个)文件中,然后,使用Resources.Load方法动态的加载出来,当然,若有其他的途径欢迎拍砖,本人也是菜鸟一只,希望大家能多多的交流~嘎嘎..

下边就先贴出服务器端的代码 代码中也写好了注释,我这里是将套接字写在一个脚本中的,也因为服务器只有一个所以写的是一个单例类,接受数据是开启一个线程接受的

服务器 socket(套接字)脚本代码 服务器端的发送数据也写在其中的了,但, 我没有使用。注意这里需要引用的命名空间 特别注意的是如果 在写using System.Drawing提示找不

的时候,需要将System.Drawing.dll文件拷贝到当前工程中来

下边贴出 真正做事的那个脚本,额,我该怎么表达呐,哎 怪我语文没学好,

也就是这个脚本中的代码将会去调用上边的脚本,直接上代码,大家就会一目了然的了

可以看到,在这个脚本中,将传输过来的图片Load出来,然后使用GUI.DrawTexture方法贴出来

OK,OK,OK,服务器端就这么Over了,那么接着看看客户端的代码

Unity3d使用socket传输图片(unity socket udp)

同样,代码还是比较简洁的,那么至此,整个过程就算是完成了,大家可以尝试一下

当然,这个只是传输图片的,也可以传输视频,音频等文件,虽然,我还没有去尝试,但是,一定是可以的,因为,我们所有的东西在电脑上都是以形式保存的,也就是二进制文件保存的,所以,一定是可以传输。

最后上一张图片

欢迎大家拍砖,若发现错误,还望不忘拿起板砖,板砖,狠狠的拍向我。。。。。

另外:若转载,请标明出处,文章写的也是蛮累人的~ 谢谢大家....

QQ:

Unity3d linux下获取焦点,控制窗口方法 Unity3d自身的API没有提供给我们窗口控制,获取焦点的方法。Windows下的方法大家很容易找到很多相关的实例,其核心思想是调用Win的API获取窗口控制。

Unity3D触摸操作 Unity3D中,NGUI中的UICamera为UI按钮提供了非常方便的触控接口,onClick,onDrag,onPress。那3D场景中的物体是否可以使用?可以。在场景摄像机MainCamera上,添加

【Unity3D API的学习与使用】Unity实现GUI组件的位移、缩放和旋转 在使用Unity中GUI组件时,我们可以像处理一个实体一样,对其进行位移、缩放和旋转的操作。其中,位移和缩放都只需要改变其Rect的内容即可,前者改

标签: unity socket udp

本文链接地址:https://www.jiuchutong.com/biancheng/382524.html 转载请保留说明!

上一篇:Unity3D - 图形性能优化:帧调试器(unity地形图片)

下一篇:Unity3d linux下获取焦点,控制窗口方法(unity linux arm)

  • 财税通财务软件如何调整凭证间距
  • 企业购置房产进项被折旧怎么处理
  • 企业注销增值税留抵可以退吗
  • 国际多式联运必须具备的基本条件是什么
  • 辅导期纳税人会计处理
  • 金税盘抵减增值税的账务处理
  • 审计人员的差旅费放在哪核算
  • 母公司借款给子公司作为投资
  • 营改增对金融服务业税负的影响
  • 增值税专用发票可以开电子发票吗
  • 2018年高新技术企业所得税
  • 二甲醚增值税税率9%
  • 企业的应收账款周转率越大,说明发生坏账
  • 下列各项支出中,允许用现金支付的有
  • 教您电脑网速很慢怎么办
  • 记账金额如何处理账户
  • win10通知怎么打开
  • php自定义变量
  • 电脑记事本在哪里打开
  • 押金少退侵犯了哪条法律
  • 苹果推送最新系统怎么弄
  • 摊余成本计量的金融资产
  • jsonobject忽略字段
  • 专项储备怎么理解
  • 挂靠设计公司费用标准 怎么记账
  • session和viewstate
  • three.js 教程
  • ubuntu busier
  • 完美解决win10间歇性掉线
  • python填写表格
  • 建材公司成本率一般多少
  • 结算备付金管理办法(2019年修订版)
  • 公司地面硬化财务如何入账
  • 银行存款利息的会计科目
  • 企业金融资产包括银行存款吗
  • sqlserver2008不存在或拒绝访问怎么办
  • 信用减值损失在贷方表示什么
  • 将自产的应税消费品用于连续生产非应税消费品
  • 盈余公积的提取条件
  • 安防工程注意事项有哪些
  • 门市装修费用会计处理
  • 投资损失如何入账
  • 进度款开票是开实收金额吗
  • 长期待摊费用属于资产类吗
  • 营业外支出会计编码
  • 不需要计提折旧的情况
  • 辅助生产费用如何判断受益多少事指什么
  • 冲回去年收入会计分录
  • 企业计提任意盈余公积的比例
  • 差旅费抵扣政策内容
  • 水电费没有发票可以入账吗
  • 期末没有结账成本怎么办
  • 固定资产净残值最后怎么处理
  • 加班餐补需要发票嘛
  • 付给非公司员工提成税务处理
  • 购买软件会计科目
  • win10收不到短信验证码
  • 复制文件文件名过长怎么复制
  • 浪潮云是什么意思
  • winmysqladmin.exe - winmysqladmin进程是什么意思
  • win10阻止可能不需要的应用吗
  • WIN7系统如何设置自动关机
  • 64位下无法运行32位程序的解决方法 提示未指定提供程序,也没有指派的默认提供程序
  • 华硕a400u安装win7
  • mac图片格式怎么转换jpeg
  • win7开启远程设置
  • 如何使用调制解调器
  • windows7睡眠唤醒快捷键
  • win10电脑磁盘损坏
  • centos安装命令yum
  • 疯狂Android讲义(kotlin版)
  • node.js怎么用
  • python爬虫代码怎么写
  • 理解js绑定事件是什么
  • 金融商品转让都包括什么
  • 计算当期免抵退税额
  • 电子税务局房产税怎么申报
  • 外经证核销在公司所在地还是在项目所在地
  • 合肥哪里可以注销电信卡
  • 北京税务热线电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设