您的位置:首页 > 移动开发 > Unity3D

Unity3d之Socket UDP协议

2016-02-22 00:00 183 查看
原文地址:http://blog.csdn.net/dingkun520wy/article/details/49201245

(一)Socket(套接字)UDP协议的特点

1、是基于无连接的协议,没有生成连接的延迟所以速度比TCP快;

2、支持一对一和一对多连接,可以使用广播的方式多地址发送;

3、与Tcp的报头比是8:20,所以UDP消耗的网络带宽少;

4、传输的数据有消息边界,Tcp没有;

(二)发送

//定义发送字节区
byteSendingArray = new byte[100];
//定义网络地址
iep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1001);
//创建socket
socketClient = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
//发送数据
EndPoint ep = (EndPoint)iep;

string strMsg = "要发送的数据";
//字节转换
byteSendingArray = Encoding.Default.GetBytes(strMsg);
//发送
socketClient.SendTo(byteSendingArray, ep);


(三)接收

//定义接受数据区
byteArray_Receive = new byte[100];
//定义网络地址
iep_Recieve = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1001);
//创建socket
socketServer = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
//绑定地址
socketServer.Bind(iep_Recieve);
//接受数据
EndPoint ep = (EndPoint)iep_Recieve;
//接收到数据
int intReceiveLength = socketServer.ReceiveFrom(byteArray_Receive, ref ep);
//转换数据为字符串
string strReceiveStr = Encoding.Default.GetString(byteArray_Receive, 0, intReceiveLength);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity