UWP 客户端和服务器

UWP Cliet and Server

我在 win10 prof 上有 UWP 应用程序("server")运行,这个 UWP 应用程序是一个应用程序服务,我有另一个 UWP 应用程序(客户端),它使用 TSP/IP。其他 win10 设备上有多少客户端 运行 可以同时连接到 "server"?

使用 StreamSocketListener class,我相信您可以处理无限数量的客户端套接字连接(取决于实现、硬件、带宽等)。下面是使用静态 class.

的侦听器服务器端实现的基本示例
// Define static class here.

public static StreamSocketListener Listener { get; set; }

// This is the static method used to start listening for connections.

 public static async Task<bool> StartServer()
 {
      Listener = new StreamSocketListener();
      // Removes binding first in case it was already bound previously.
      Listener.ConnectionReceived -= Listener_ConnectionReceived;
      Listener.ConnectionReceived += Listener_ConnectionReceived;
      try
      {
           await Listener.BindServiceNameAsync(VMS.Current.Port);
           return true;
       }
       catch (Exception ex)
       {
          Listener.ConnectionReceived -= Listener_ConnectionReceived;
          Listener.Dispose();
          return false;
        }
 }

 private static async void Listener_ConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args)
 {
      var remoteAddress = args.Socket.Information.RemoteAddress.ToString();
      var reader = new DataReader(args.Socket.InputStream);
      var writer = new DataWriter(args.Socket.OutputStream);
      try
      {
          // Handle communication here.  You'll likely use an infinite loop of reading from the input stream until the socket is disconnected.
      }
      catch (Exception ex)
      {
           writer.DetachStream();
           reader.DetachStream();
           return;
      }
 }

两端连接后,有多种处理流套接字的方法,我不得不进行一些研究和实验,以找到适合我正在做的事情的过程。