基于UDP的通信是面向无连接的通信,所以实际上服务器和客户端是对等的,不同之处在于服务器绑定了一个监听端口,而客户端每次都是自动分配的连接端口,其实也可以做成两边绑定端口或者都不绑定端口的模式
以下是UDP双向模式
服务器端:
新建Socket
绑定端口
连接通信
using UnityEngine;
using System.Collections;
//引入库
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
public class UdpServer:MonoBehaviour
{
//以下默认都是私有的成员
Socket socket; //目标socket
EndPoint clientEnd; //客户端
IPEndPoint ipEnd; //侦听端口
string recvStr; //接收的字符串
string sendStr; //发送的字符串
byte[] recvData=new byte[1024]; //接收的数据,必须为字节
byte[] sendData=new byte[1024]; //发送的数据,必须为字节
int recvLen; //接收的数据长度
Thread connectThread; //连接线程
//初始化
void InitSocket()
{
//定义侦听端口,侦听任何IP
ipEnd=new IPEndPoint(IPAddress.Any,8001);
//定义套接字类型,在主线程中定义
socket=new Socket(AddressFamily.InterNetwork,SocketType.Dgram,