±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½²½âÁËsocket±à³ÌÖ®udp·þÎñÆ÷¶ËºÍ¿Í»§¶ËµÄÔÀí£¬¼°´úÂëʵÏÖ¡£
±¾ÎÄÀ´×ÔÓÚ²©¿ÍÔ°£¬ÓÉ»ðÁú¹ûAnna±à¼ÍƼö |
|
»ùÓÚUdpÐÒéÊÇÎÞÁ¬½ÓģʽͨѶ£¬Õ¼ÓÃ×ÊÔ´ÉÙ£¬ÏìÓ¦Ëٶȿ죬ÑÓʱµÍ¡£ÖÁÓÚ¿É¿¿ÐÔ£¬¿Éͨ¹ýÓ¦ÓòãµÄ¿ØÖÆÀ´Âú×ã¡£(²»¿É¿¿Á¬½Ó)
ʹÓÃUdpÐÒéͨѶÐèÒª¾ß±¸ÒÔϼ¸¸öÌõ¼þ£º
(1).½¨Á¢Ò»¸öÌ×½Ó×Ö(Socket)
(2).°ó¶¨·þÎñÆ÷¶ËIPµØÖ·¼°¶Ë¿ÚºÅ--·þÎñÆ÷¶Ë
(3).ͨ¹ýSendTo()·½·¨ÏòÖ¸¶¨Ö÷»ú·¢ËÍÏûÏ¢ (ÐèÌṩÖ÷»úIPµØÖ·¼°¶Ë¿Ú)
(4).ͨ¹ýReciveFrom()·½·¨½ÓÊÕÖ¸¶¨Ö÷»ú·¢Ë͵ÄÏûÏ¢ (ÐèÌṩÖ÷»úIPµØÖ·¼°¶Ë¿Ú)

ÏÂÃæÓôúÂëʵÏÖ¼òµ¥µÄ·þÎñÆ÷---¿Í»§¶ËͨÐÅ
·þÎñÆ÷¶Ë£º
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace _023_socket±à³Ì_UDPÐÒé_·þÎñÆ÷¶Ë {
class Program
{
private static Socket udpServer;
static void Main(string[] args) {
//1,´´½¨socket
udpServer = new Socket (AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
//2,°ó¶¨ip¸ú¶Ë¿ÚºÅ
udpServer.Bind( new IPEndPoint ( IPAddress.Parse("192.168.1.101")
,7788 ) );
//3£¬½ÓÊÕÊý¾Ý
new Thread(ReceiveMessage){ IsBackground = true}.Start();
Console.WriteLine("·þÎñÆ÷Æô¶¯...");
Console.ReadKey();
}
static void ReceiveMessage()
{
while (true)
{
EndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any,
0);
byte[] data = new byte[1024];
int length = udpServer.ReceiveFrom (data, ref
remoteEndPoint);//Õâ¸ö·½·¨»á°ÑÊý¾ÝµÄÀ´Ô´(ip:port)·Åµ½µÚ¶þ¸ö²ÎÊýÉÏ
string message = Encoding.UTF8.GetString(data,
0, length);
Console.WriteLine("´Óip£º" + (remoteEndPoint
as IPEndPoint).Address.ToString() + "£º"
+ (remoteEndPoint as IPEndPoint).Port + "ÊÕµ½ÁËÊý¾Ý£º"
+ message);
}
}
}
} |
¿Í»§¶Ë£º
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
namespace _002_socket±à³Ì_udpÐÒé_¿Í»§¶Ë {
class Program {
static void Main(string[] args) {
//´´½¨socket
Socket udpClient = new Socket (AddressFamily.InterNetwork, SocketType.Dgram,
ProtocolType.Udp);
while (true)
{
//·¢ËÍÊý¾Ý
EndPoint serverPoint = new IPEndPoint(IPAddress.Parse("192.168.1.101"),
7788);
string message = Console.ReadLine();
byte[] data = Encoding.UTF8.GetBytes(message);
udpClient.SendTo(data, serverPoint);
}
udpClient.Close();
Console.ReadKey();
}
}
}
|
Ö´Ðйý³Ì£º
£¨1£©Æô¶¯·þÎñÆ÷

£¨2£©Æô¶¯¿Í»§¶Ë£¬²¢Ïò·þÎñÆ÷·¢ËÍÊý¾Ý

·ÖÀà: unity3Dѧϰ |