k8¡¤¿­·¢(¹ú¼Ê) - ¹Ù·½ÍøÕ¾



µ±Ç°Î»ÖÃ:

¶ÔÊָ߹ܾ¯¸æ£º»îÈûÎðÖØµ¸ÀÏÓ¥¸²ÕÞ£¬ÐèÎÈÖÐÇó½ø¡£

À´Ô´£º24Ö±²¥Íø
  • »ð·ïÖ±²¥ {ÈÈÃÅÍÆ¼ö}
  • NBA¾«²ÊÖ±²¥
  • ×ãÇòÏÖ³¡Ö±²¥
  • ÌðÐÄÖ÷²¥½âÅÌ

±±¾©Ê±¼ä5ÔÂ3ÈÕ£¬TheRingerÍøÕ¾µÄ×÷ÕßHoward BeckÔÚһƪÒýÈËעĿµÄÎÄÕÂÖУ¬¶Ôµ×ÌØÂÉ»îÈû¶ÓÔÚÐÝÈüÆÚµÄÔË×÷·½Ïò½øÐÐÁËÉîÈëµÄ̽ÌÖ¡£½üÆÚ£¬»îÈû¶ÓÀϰåÌÀÄ·¡¤¸ñÀï˹¶ÔýÌå͸¶³öÒ»¹ÉÇ¿Áҵġ°½ôÆÈ¸Ð¡±¡£

ËûÃ÷È·±íʾ£º¡°ÎÞÂÛÊǶÔÇòÔ±¡¢Çò¶Ó»¹ÊǶÔÎÒ×Ô¼º£¬Õâ¸öÏÄÌìµÄÖ÷Ìâ¶¼ÊǽôÆÈ¸Ð¡£ÎÞÂÛ±ÈÈü½á¹ûÈçºÎ£¬¿­·¢K8µÄ½ôÆÈ¸Ð¶¼²»»áÓÐË¿ºÁµÄËÉи¡£¡±ÕâÖÖ̬¶ÈËÆºõԤʾ×Å»îÈû¶ÓÔÚ¼¾ºóÈüÖÐÓëÄá¿Ë˹µÄÁù³¡¼¤Õ½£¬Ã¿Ò»³¡¶¼Òì³£½Ó½ü£¬·Â·ðÔÚÏòÍâ½ç´«´ïÒ»¸öÐźţºÇò¶ÓÕý´¦ÔÚÉÏÉýµÄ¹ìµÀÉÏ£¬ÓÐןü½øÒ»²½µÄDZÁ¦¡£

È»¶ø£¬Ò»¸öÀ´×ÔÆäËûÇò¶ÓµÄ¸ß¹ÜµÄ¹ÛµãÈ´½ØÈ»²»Í¬¡£ÕâλÄäÃû¸ß¹ÜÔÚÆÀÂÛÖÐÖ¸³ö£¬»îÈû¶ÓÔÚÐÝÈüÆÚ×îÐèÒª×öµÄÊÇÈÃÌÀÄ·¡¤¸ñÀï˹Ã÷°×£¬Çò¶Ó»¹Ô¶Î´´ïµ½Õù¶á×ܹھüµÄ¹ìµÀ¡£Ëû¾¯¸æËµ£¬Çò¶Ó²»Ó¦ÒòΪÉÏÒ»¸öÈü¼¾µÄ³öÉ«±íÏÖ¶ø¹ýÓÚ×ÔÐÅ£¬·ñÔò¾Í¿ÉÄÜÏñÀÏÓ¥¶ÓÄÇÑù£¬Òò¹ýÓÚ¼±Ôê¶ø´íʧÁ˽øÒ»²½·¢Õ¹µÄÁ¼»ú¡£

Õâλ¸ß¹Ü½øÒ»²½²¹³äµÀ£º¡°ÔÚ×·ÇóʤÀûµÄµÀ·ÉÏ£¬ÎÈÔúÎÈ´ò²ÅÊǹؼü¡£¼±ÓÚÇó³ÉÖ»»áÈÃÇò¶ÓÏÝÈëÀ§¾³£¬ÉõÖÁ¿ÉÄÜÖØµ¸¸²ÕÞ¡£¡±ËûµÄÕâ·¬»°£¬ÎÞÒɸø»îÈû¶ÓµÄδÀ´×ßÏòͶÏÂÁËÒ»¿ÅÉî˼ÊìÂǵÄʯ×Ó¡£.net ¿ò¼ÜÏÂÈçºÎʵÏÖÒ»¸ö¼òµ¥µÄÍøÂçͨÐųÌÐò

ÔÚ.NET¿ò¼ÜÏÂʵÏÖÒ»¸ö¼òµ¥µÄÍøÂçͨÐųÌÐò£¬Í¨³£Éæ¼°µ½Socket±à³Ì¡£ÏÂÃæÊÇÒ»¸ö¼òµ¥µÄʾÀý£¬Õ¹Ê¾ÁËÈçºÎʹÓÃC#ÔÚ.NET¿ò¼ÜÏÂʵÏÖÒ»¸ö»ù±¾µÄTCP¿Í»§¶ËºÍ·þÎñÆ÷³ÌÐò¡£

Ò»¡¢TCP·þÎñÆ÷¶Ë³ÌÐò£º

```csharp

using System;

using System.Net;

using System.Net.Sockets;

using System.Text;

using System.Threading.Tasks;

class TcpServer

{

private const int Port = 12345; // ÉèÖ÷þÎñÆ÷¶Ë¿ÚºÅ

private TcpListener server; // TcpListenerÓÃÓÚ¼àÌý¿Í»§¶ËÁ¬½Ó

private bool running = true; // ÓÃÓÚ¿ØÖÆ·þÎñÆ÷ÔËÐÐ״̬

public void Start()

{

server = new TcpListener(IPAddress.Any, Port); // ´´½¨TcpListener¶ÔÏó²¢¼àÌýÖ¸¶¨¶Ë¿Ú

server.Start(); // ¿ªÊ¼¼àÌýÁ¬½Ó

Console.WriteLine("·þÎñÆ÷ÒÑÆô¶¯£¬µÈ´ý¿Í»§¶ËÁ¬½Ó...");

while (running) // Ñ­»·½ÓÊÕ¿Í»§¶ËÁ¬½Ó²¢´¦ÀíÏûÏ¢

{

Task task = Task.Factory.FromAsync(server.BeginAcceptTcpClient, new AsyncCallback(AcceptClient), server); // Òì²½½ÓÊܿͻ§¶ËÁ¬½ÓÇëÇ󲢯ô¶¯ÈÎÎñ´¦ÀíÏûÏ¢

task.Wait(); // µÈ´ýÈÎÎñÍê³É£¨ÕâÀïΪ¼ò»¯Ê¾Àý¶øÊ¹ÓÃ×èÈû·½Ê½£©

}

}

private void AcceptClient(IAsyncResult ar) // ´¦Àí¿Í»§¶ËÁ¬½ÓÇëÇó²¢½ÓÊÕÏûÏ¢µÄ»Øµ÷º¯Êý

{

TcpListener listener = (TcpListener)ar.AsyncState; // »ñÈ¡TcpListener¶ÔÏóʵÀý

TcpClient client = listener.EndAcceptTcpClient(ar); // »ñÈ¡ÒÑÁ¬½ÓµÄ¿Í»§¶Ë¶ÔÏóʵÀý²¢¿ªÊ¼½ÓÊÕÏûÏ¢

Console.WriteLine("¿Í»§¶ËÒÑÁ¬½Ó£º" + client.Client.RemoteEndPoint); // Êä³ö¿Í»§¶ËÁ¬½ÓÐÅÏ¢µ½¿ØÖÆÌ¨£¨ÕâÀïΪ¼ò»¯Ê¾Àý¶øÖ±½ÓÊä³ö£©

NetworkStream stream = client.GetStream(); // »ñÈ¡ÍøÂçÁ÷¶ÔÏóÓÃÓÚ¶ÁдÊý¾Ý£¨ÕâÀïΪ¼ò»¯Ê¾Àý¶øÖ±½Ó²Ù×÷£©

string message; // ¶¨Òå±äÁ¿´æ´¢½ÓÊÕµ½µÄÏûÏ¢£¨ÕâÀïΪ¼ò»¯Ê¾Àý¶øÊ¹ÓÃ×Ö·û´®ÐÎʽ£©

using (var sr = new StreamReader(stream, Encoding.UTF8)) // ´´½¨Á÷¶ÁÈ¡Æ÷ÓÃÓÚ¶ÁÈ¡ÏûÏ¢£¨ÕâÀïʹÓÃUTF-8±àÂ룩

{

message = sr.ReadLine(); // ¶ÁȡһÐÐÏûÏ¢µ½±äÁ¿ÖУ¨ÕâÀïΪ¼ò»¯Ê¾Àý¶øÖ±½Ó¶ÁȡһÐУ©

Console.WriteLine("ÊÕµ½ÏûÏ¢£º" + message); // Êä³ö½ÓÊÕµ½µÄÏûÏ¢µ½¿ØÖÆÌ¨£¨ÕâÀïΪ¼ò»¯Ê¾Àý¶øÖ±½ÓÊä³ö£©

}

// ÕâÀï¿ÉÒÔ¼ÌÐø±àд´úÂë´¦ÀíÆäËûÏûÏ¢ºÍÒµÎñÂß¼­...£¨ÕâÀïΪ¼ò»¯Ê¾Àý¶øÖ±½ÓÍ˳öÑ­»·£©

running = false; // Í˳öÑ­»·²¢¹Ø±ÕÁ¬½ÓºÍ·þÎñÆ÷£¨ÕâÀïΪ¼ò»¯Ê¾Àý¶øÖ±½ÓÍ˳ö£©

}

}

```¶þ¡¢TCP¿Í»§¶Ë³ÌÐò£º

```csharp

using System;

using System.Net.Sockets;

using System.Text;

using System.Threading.Tasks;

class TcpClientDemo : IDisposable // ʵÏÖIDisposable½Ó¿ÚÒÔ±ãÔÚ²»ÐèҪʱÊÖ¶¯¹Ø±Õ¿Í»§¶ËÁ¬½ÓºÍ×ÊÔ´£¨ÕâÀïΪ¿ÉÑ¡²¿·Ö£©

{

private TcpClient client; // TcpClient

¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿