翼度科技»论坛 编程开发 .net 查看内容

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

3

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
客户端:
在UGUI中创建两个Button,一个是连接服务器,一个是发送消息的按钮,分别绑定Connection和SendMessage两个函数
并且创建一个InputField和一个Text文本,Text文本用于显示服务器回传的消息,InputField用于输入要发送的消息
以下是代码:
  1. 1 using System.Collections;
  2. 2 using System.Collections.Generic;
  3. 3 using System.Net.Sockets;
  4. 4 using UnityEngine;
  5. 5 using UnityEngine.UI;
  6. 6
  7. 7 public class Client : MonoBehaviour
  8. 8 {
  9. 9     Socket client;
  10. 10     public InputField inputField;
  11. 11     public Text text;
  12. 12
  13. 13     public void Connection()
  14. 14     {
  15. 15         client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
  16. 16         client.Connect("127.0.0.1",10086);
  17. 17     }
  18. 18
  19. 19     public void SendMessage()
  20. 20     {
  21. 21         //发送数据报文
  22. 22         string messageToServer = inputField.text;
  23. 23         byte[] sendMessage = System.Text.Encoding.UTF8.GetBytes(messageToServer);
  24. 24         client.Send(sendMessage);
  25. 25         //接收数据报文
  26. 26         byte[] messageToClient = new byte[1024];
  27. 27         int count = client.Receive(messageToClient);
  28. 28         string messageFromServer = System.Text.Encoding.UTF8.GetString(messageToClient,0,count);
  29. 29         text.text = messageFromServer;
  30. 30         client.Close();
  31. 31     }
  32. 32 }
复制代码
客户端代码服务端:
服务端采用VS提供的WFP窗口做服务端,可以添加一些控件来美化GUI界面
以下是我做的一个简单的GUI界面

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

来源:https://www.cnblogs.com/qingyuan0213/archive/2023/10/09/17752644.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具