SuperSocket框架学习笔记3-构建Unity3D__WebSocket4Net客户端程序
来源:互联网 发布:听歌学英文软件 编辑:程序博客网 时间:2024/06/06 03:36
新建一个Unity3D项目(我的Unity3D版本是4.2.0)
1,在Unity3D内新建一个文件夹命名 Plugin
将下载的
客户端:
WebSocket4Net 客户端必备
http://websocket4net.codeplex.com/
WebSocket4Net.dll 这个DLL复制到 Unity3D里面刚才新建的 Plugin文件夹内(注意Unity不得使用中文)
———————————
查看Unity下面的状态面板,确保没有红色错误提示,说明引入正确
2,新建一个C#文件,命名为SsocketDemo.cs
新建后 它自动 命名和 文件名一致(Unity3D里面 C#文件名和 类名一致,暂时不支持命名空间)
添加以下命名空间:
using System.ComponentModel;
using System.Text;
using System.Net.Sockets;
using WebSocket4Net;
using WebSocket4Net.Command;
using WebSocket4Net.Protocol;
具体代码如下:
public class SsokcetDemo : MonoBehaviour {// 服务器IP地址和端口号private string ServerAdress ; // 玩家名字 private string PlayName = "LIN";//发送的消息 private string message ; //接收到 服务器发回来的消息 private string ServerMessage ;void Start () {// 服务器IP地址和端口号 ServerAdress = "ws://127.0.0.1:2000/";message = "Clients Send Message" ; ServerMessage = "Server Message" ;}void Update () { if( websocket !=null && websocket.State != WebSocketState.None ){ Debug.Log( message ); Debug.Log( websocket.State );}} public WebSocket websocket ; void OnGUI() { //绘制2个 TxtBox文本输入框 PlayName = GUI.TextField(new Rect(10, 10, 100, 20), PlayName); message = GUI.TextArea(new Rect(10, 40, 200, 200), message); ServerMessage = GUI.TextArea(new Rect(10, 250, 400, 200), ServerMessage); //连接到服务器 if(GUI.Button(new Rect(250, 10, 150, 40), "Client连接")) { ClientSend(); }; if( websocket != null ) { //测试向服务器发送消息 if(GUI.Button(new Rect(250, 60, 150, 40), "SendMessageToServer")) { if( message.Length <1 || PlayName.Length < 1 ) return; websocket.Send("UnityClient Send" + PlayName +"Say:" + message ); }; //断开连接按钮 if(GUI.Button(new Rect(250, 120, 150, 40), "CloseSocket")) { websocket.Close(); websocket = null; }; } } public void ClientSend() { websocket = new WebSocket( ServerAdress); websocket.Opened += new EventHandler(websocket_Opened); // websocket.Error += new EventHandler<ErrorEventArgs>(websocket_Error); websocket.Closed += new EventHandler(websocket_Closed); websocket.MessageReceived += new EventHandler<MessageReceivedEventArgs>( websocket_MessageReceived ); websocket.Open(); } private void websocket_Opened(object sender, EventArgs e) { websocket.Send( PlayName +"Has Join The Game" ); } private void websocket_MessageReceived(object sender, MessageReceivedEventArgs e) { ServerMessage += e.Message; } private void websocket_Closed(object sender, EventArgs e) { websocket.Close(); } }
将代码 拖放到 Main Camera上
如图:
先启动 服务器程序
如图:
说明服务器 启动成功!
在进入 Unity3D中
没有错误的话 会出现 下图
点击 Client连接 , 服务器端 会如下出现消息
说明 连接正常 ,让我们 测试 客户端 发消息到 服务器
在Unity3D里面第二个文本框(第一个表示玩家的名字 PlayerName ,第二个是 客户端 将要发送的消息,第三个是 服务器 相应 返回的消息 )
输入HellowSuperSocket 点击 SendMessageToServer
将会看到 如下图:
以上就是完整的程序例子,稍后将放出 客户端 和 服务器端的源码
QQ:2360450496
SuperSocket官方QQ群:373076764
欢迎大家来一起研究开发这个Socket框架!
未完,待续......
- SuperSocket框架学习笔记3-构建Unity3D__WebSocket4Net客户端程序
- SuperSocket框架学习笔记2-构建SuperWebSocket服务器程序
- SuperSocket框架学习笔记1-启动服务器
- Socket 开发框架 SuperSocket
- 基于XFire框架利用ant构建WebService的客户端程序
- supersocket开发笔记
- 【ExtJs学习笔记】3.构建程序
- SuperSocket服务器架设(二):使用SuperSocket构建简单服务器
- SuperSocket服务器架设(二):使用SuperSocket构建简单服务器
- rcp学习笔记(-)-----程序框架
- Zookeeper学习笔记:客户端程序分析一
- SuperSocket
- SuperSocket
- OSChina_IOS版客户端笔记(二)_程序主框架
- 【MFC】第3课 MFC程序框架学习笔记
- 微信小程序学习笔记(3)--------框架之配置
- 构建富客户端程序 GWT2.3 + Guice3.0 + hibernateJPA 程序代码。
- 构建富客户端程序 GWT2.3 + Guice3.0 + hibernateJPA 程序代码
- 权限逻辑分析
- 如何制作一个ASP.NETMVC4信息发布网站
- SuperSocket框架学习笔记1-启动服务器
- 29-HTML-06-HTML(表格标签)
- SuperSocket框架学习笔记2-构建SuperWebSocket服务器程序
- SuperSocket框架学习笔记3-构建Unity3D__WebSocket4Net客户端程序
- Android-SD卡文件夹创建和删除实现
- Unity3D碰撞后去掉相互之间的反弹力
- GoLang入门1-安装-配置
- GoLang入门2-GOPATH与工作空间
- GoLang入门3-应用目录结构
- GoLang入门4-编译应用mymath测试
- GoLang入门5-调试我们自己写的包mymath
- Unity3D 连接MySQL数据库笔记2-所需要的DLL