|
客户端:
在UGUI中创建两个Button,一个是连接服务器,一个是发送消息的按钮,分别绑定Connection和SendMessage两个函数
并且创建一个InputField和一个Text文本,Text文本用于显示服务器回传的消息,InputField用于输入要发送的消息
以下是代码:
- 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界面
- 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.cnblogs.com/qingyuan0213/archive/2023/10/09/17752644.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|