Unity运用socket传输信息(同步)

这篇具有很好参考价值的文章主要介绍了Unity运用socket传输信息(同步)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

客户端:

在UGUI中创建两个Button,一个是连接服务器,一个是发送消息的按钮,分别绑定Connection和SendMessage两个函数

并且创建一个InputField和一个Text文本,Text文本用于显示服务器回传的消息,InputField用于输入要发送的消息

以下是代码:

Unity运用socket传输信息(同步)Unity运用socket传输信息(同步)
 1 using System.Collections;
 2 using System.Collections.Generic;
 3 using System.Net.Sockets;
 4 using UnityEngine;
 5 using UnityEngine.UI;
 6 
 7 public class Client : MonoBehaviour
 8 {
 9     Socket client;
10     public InputField inputField;
11     public Text text;
12 
13     public void Connection()
14     {
15         client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
16         client.Connect("127.0.0.1",10086);
17     }
18 
19     public void SendMessage()
20     {
21         //发送数据报文
22         string messageToServer = inputField.text;
23         byte[] sendMessage = System.Text.Encoding.UTF8.GetBytes(messageToServer);
24         client.Send(sendMessage);
25         //接收数据报文
26         byte[] messageToClient = new byte[1024];
27         int count = client.Receive(messageToClient);
28         string messageFromServer = System.Text.Encoding.UTF8.GetString(messageToClient,0,count);
29         text.text = messageFromServer;
30         client.Close();
31     }
32 }
客户端代码

服务端:

服务端采用VS提供的WFP窗口做服务端,可以添加一些控件来美化GUI界面

以下是我做的一个简单的GUI界面

Unity运用socket传输信息(同步)

 

Unity运用socket传输信息(同步)Unity运用socket传输信息(同步)
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Net;
 5 using System.Net.Sockets;
 6 using System.Reflection.Emit;
 7 using System.Text;
 8 using System.Threading.Tasks;
 9 
10 namespace 同步聊天Server
11 {
12     public static class Server
13     {
14         public static string showMessag="";
15         public static void OpenServer()
16         {
17             Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
18             IPAddress ip = IPAddress.Parse("127.0.0.1");
19             IPEndPoint serverAddress = new IPEndPoint(ip, 10086);
20             server.Bind(serverAddress);
21             server.Listen(10);//如果为零,则表示不受限制
22             showMessag += "服务器启动成功";
23             Socket oneToOnePort = server.Accept();
24             byte[] messageFromClient = new byte[1024];
25             int count = oneToOnePort.Receive(messageFromClient);
26             string message = Encoding.UTF8.GetString(messageFromClient, 0, count);
27             showMessag += message;
28             byte[] messageToClient = Encoding.UTF8.GetBytes(message);
29             oneToOnePort.Send(messageToClient);
30         }
31 
32     }
33 }
服务端代码

 

 

 

翻译

搜索

复制文章来源地址https://www.toymoban.com/news/detail-711680.html

到了这里,关于Unity运用socket传输信息(同步)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包