欢迎加入Unity业内qq交流群:956187480
qq扫描二维码加群
Udp是没有绝对的c/s观念的,只是为了方便设定了客户端,服务端。此篇是搭载Unity使用的。.Net下也可以
public class UdpManager : MonoBehaviour
{
public Button server;
public Button client;
private Thread clientThread;
private Thread serverThread;
private Socket clientSocket;
private Socket serverSocket;
// 采用socket类,使用最基本的同步方法
void Start()
{
server.onClick.AddListener(StartServer);
client.onClick.AddListener(StartClient);
}
private void StartClient()
{
IPEndPoint ip = new IPEndPoint(IPAddress.Parse("192.168.10.99"), 7000);
clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
clientSocket.Bind(ip);
Debug.Log("启动客户端");
clientThread = new Thread(ClientThread);
clientThread.Start();
}
public void ClientThread( )
{
IPEndPoint ip = new IPEndPoint(IPAddress.Parse("192.168.10.99"), 7001);
try
{
while (true)
{
Thread.Sleep(100);
string welcome = "我是客户端";
Debug.Log("广播消息");
var data = Encoding.UTF8.GetBytes(welcome);
clientSocket.SendTo(data, data.Length, SocketFlags.None, ip);
IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
EndPoint Remote = sender;
var recdata = new byte[2048];
if (clientSocket.Available
关注
打赏
热门博文
- 【Unity实战100例】Unity读取加载Gif动图的两种方式
- 【Unity实战100例】从Unity对象池里获取各种月饼
- 【小游戏】2D游戏炸弹超人BombSuperman(无限关卡模式)
- 【Unity实战100例】Unity幸运大转盘之概率可控
- 【Unity实战100例】文件压缩Zip和ZIP文件的解压
- 【Unity实战100例】Unity万能答题系统之单选多选判断题全部通用
- 【工具篇】SQLite本地数据库在Unity3D的应用
- 【全民Python】Python环境配置和Pychram的安装使用
- 【Unity编辑器扩展】Unity发布资源到商店流程Unity Asset Store Publish
- 【Unity实战100例】Unity2D人物控制器,控制2D玩家移动跳跃,四方向和水平方向