Unity网络游戏编程学习(一)
Unity网络游戏编程学习(一)
- Socket通讯流程
- 简单的示例程序
- 服务器
- 客户端
- 运行效果
学习《Unity3D网络游戏实战》(第二版)时的学习笔记
Socket通讯流程
简单的示例程序
服务器
使用的是VS的控制台应用
class MainClass{public static void Main(string[] args){Console.WriteLine("Hello World!");//SocketSocket listenfd = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//BindIPAddress ipAdr = IPAddress.Parse("127.0.0.1");IPEndPoint ipEp = new IPEndPoint(ipAdr,8888);listenfd.Bind(ipEp);//Listenlistenfd.Listen(0);Console.WriteLine("[服务器]启动成功");while (true) {//AcceptSocket connfd = listenfd.Accept();Console.WriteLine("[服务器]Accept");//Receivebyte[] readBuff = new byte[1024];int count = connfd.Receive(readBuff);string readStr = System.Text.Encoding.Default.GetString(readBuff, 0, count);Console.WriteLine("[服务器接收]" + readStr);//Sendstring feedBack = "接收到" + readStr;byte[] sendBytes = System.Text.Encoding.Default.GetBytes(feedBack);connfd.Send(sendBytes);}}
客户端
使用的时Unity
public class Echo : MonoBehaviour
{//定义套接字Socket socket;public InputField sendStrInput;public Text text;/// <summary>/// 点击连接按钮/// </summary>public void Connection(){socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);socket.Connect("127.0.0.1", 8888);}/// <summary>/// 点击发送按钮/// </summary>public void Send(){//Sendstring sendStr = sendStrInput.text;byte[] sendBytes = System.Text.Encoding.Default.GetBytes(sendStr);socket.Send(sendBytes);Receive();}public void Receive() {//Receivebyte[] readBuff = new byte[1024];int count = socket.Receive(readBuff);string recvStr = System.Text.Encoding.Default.GetString(readBuff, 0, count);text.text = recvStr;socket.Close();}
}
运行效果
注意:这个简单的程序只能进行一次收发,一次过后会报错。
下一篇:Unity网络游戏编程学习(二)
Unity网络游戏编程学习(一)相关推荐
- Unity游戏编程自学书籍、插件学习与视频教程
本文主要介绍用Unity进行游戏编程开发的自学书籍.需要学习的插件以及相关视频教程. 由于Unity采用C#进行开发,所以在进行下面的学习之前,确保自己有一定的C#基础并对基础的数据结构与算法有一定的 ...
- Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D C#: Learn To Code Making 3D Games
Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D & C#: Learn To Code Making 3D Games Full Guide To Unit ...
- 视频教程-Unity网络游戏架构设计-Unity3D
Unity网络游戏架构设计 网名:海洋,CSDN社区讲师,3D游戏引擎开发者,IT讲师,计算机图形学方向研究生,曾在浙江大学CAD&CG;国家重点实验室学习.从事IT行业15年,主导或参与了1 ...
- C# unity网络游戏实战泡泡堂(服务端+客户端整套源码)
游戏采用unity引擎开发. 语言有C#(unity),C++做服务端构建,linux下的服务器搭建. 历经一年自主开发,使用帧同步方式进行网络链接构建,unity实现时间片的同步. 源码3W+行,工 ...
- 【C#8.0 and .NET Core 3.0 高级编程学习笔记】
@C#8.0 and .NET Core 3.0 高级编程学习笔记 前言 为了能精细地完成对C#语言的学习,我决定选择一本书,精读它,理解它,记录它.我想选择什么书并不是最重要的,最重要的是持之以恒的 ...
- 基于JAVA智友少儿编程学习平台计算机毕业设计源码+系统+数据库+lw文档+部署
基于JAVA智友少儿编程学习平台计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA智友少儿编程学习平台计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 ...
- 上千个国外免费权威优质编程学习课程大放送 —— 提升篇
随着互联网的发展,像 MIT 和斯坦福等世界名校,都开始在网上公开一些优质的在线免费课程供大家学习.到现在,已经有来自全球共 1000 所左右的学校提供了非常多的优质课程,最有名的平台就是 MOOC. ...
- Unity之C#学习笔记(11):静态类型 Static
前篇链接:Unity之C#学习笔记(10):接口和多态 Interfaces and Polymorphism 静态类型(Static)用一句话概括就是:在程序运行期间只会被创建一份的通用内容,用关键 ...
- Unity C# 网络学习(十一)——自定义协议生成工具
Unity C# 网络学习(十一)--自定义协议生成工具 在开发网络游戏中,协议是必不可少的东西,一款游戏可能有非常多的协议,但是协议的重复性非常高,而且前端后端都需要,人工完成显然不现实,可以通过共 ...
最新文章
- 聊聊flink的StateTtlConfig
- proto文件支持继承吗_搞懂 Javascript中this 指向及继承原理
- python自动测试p-python自动化测试报告(excel篇)
- 赞!《Python面试大全》PDF版来啦!
- 架构书籍推荐:Java中高级、架构师值得一读!
- 请思考并描述下面python语句的输出结果print_Python语句print(type([1,2,3,4]))的输出结果是() 。...
- 28家知名IT公司名称的由来
- CANN5.0黑科技解密 | 高并发图片视频处理,为出行保驾,为生活添彩
- 【SpringMVC】SpringMVC: @RequestBody 和@ResponseBody 注解详解 NoHandlerFoundException
- [Python] L1-019. 谁先倒-PAT团体程序设计天梯赛GPLT
- Mac删除Windows10后空间丢失解决
- win10激活时间(win10激活时间查询)
- meson中自定义变量的使用
- 自动获取win10锁屏壁纸脚本
- 苹果手机绕过密码和指纹自动支付,细思极恐!
- matlab音频信号导入,如何将语音信号导入simulink中
- 一个假冒的序列号被用来注册Internet Download Manager。IDM正在退出...解决办法
- 分布式事务解决方案——TCC
- 最全面的github pages搭建个人博客教程
- GitHub怎么用?GitHub是什么?新手怎么用GitHub?图文并茂,不看都不行