標(biāo)題: 基于wifi的上位機(jī)模塊C#源碼 Server與client [打印本頁(yè)]

作者: Virogous    時(shí)間: 2019-2-28 19:42
標(biāo)題: 基于wifi的上位機(jī)模塊C#源碼 Server與client
基于wifi的上位機(jī)模塊


C#源程序如下:
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;

  10. using System.Net;
  11. using System.Net.Sockets;

  12. namespace ServerApp
  13. {
  14.     public partial class Form1 : Form
  15.     {
  16.         /// <summary>
  17.         /// 服務(wù)器本地端口
  18.         /// </summary>
  19.         private const int LOCAL_PORT = 1500;

  20.         TcpListener listener = null;

  21.         public Form1()
  22.         {
  23.             InitializeComponent();
  24.         }

  25.         private void Form1_Load(object sender, EventArgs e)
  26.         {
  27.             listener = new TcpListener(IPAddress.Any, LOCAL_PORT);
  28.             // 開(kāi)始監(jiān)聽(tīng)
  29.             listener.Start();
  30.             AppendToTextBox("已開(kāi)始監(jiān)聽(tīng)連接。");
  31.             // 開(kāi)始接受連接
  32.             listener.BeginAcceptTcpClient(new AsyncCallback(acceptCallback), listener);
  33.         }

  34.         private void acceptCallback(IAsyncResult ar)
  35.         {
  36.             TcpListener lstn = (TcpListener)ar.AsyncState;
  37.             // 開(kāi)始接收數(shù)據(jù)
  38.             TcpClient client = lstn.EndAcceptTcpClient(ar);

  39.             Task.Run(() =>
  40.                 {
  41.                     // 獲取遠(yuǎn)程主機(jī)名
  42.                     string host = client.Client.RemoteEndPoint.ToString();
  43.                     // 獲取流對(duì)象
  44.                     NetworkStream stream = client.GetStream();
  45.                     string msg = null;
  46.                     while(true)
  47.                     {
  48.                         // 讀取長(zhǎng)度
  49.                         byte[] buffer = new byte[4];
  50.                         stream.Read(buffer, 0, 4);
  51.                         int len = BitConverter.ToInt32(buffer, 0);
  52.                         // 讀取正文
  53.                         buffer = new byte[len];
  54.                         stream.Read(buffer, 0, len);
  55.                         string recMsg = Encoding.UTF8.GetString(buffer);
  56.                         if (recMsg == "$END$")
  57.                         {
  58.                             string message = "客戶端" + host + "發(fā)送了退出指令。";
  59.                             txtRecMsgs.Invoke(new Action(() => AppendToTextBox(message)));
  60.                             break; //退出
  61.                         }
  62.                         else
  63.                         {
  64.                             txtRecMsgs.Invoke((Action)delegate()
  65.                             {
  66.                                 // 顯示收到的消息
  67.                                 string message = string.Format("來(lái)自{0}的消息:{1}", host, recMsg);
  68.                                 AppendToTextBox(message);
  69.                             });
  70.                         }
  71.                     }
  72.                     client.Close();
  73.                 });
  74.             // 繼續(xù)接受連接
  75.             lstn.BeginAcceptTcpClient(new AsyncCallback(acceptCallback), lstn);
  76.         }

  77.         private void Form1_FormClosing(object sender, FormClosingEventArgs e)
  78.         {
  79.             if (listener != null)
  80.                 listener.Stop(); //停止監(jiān)聽(tīng)
  81.         }

  82.         private void AppendToTextBox(string msg)
  83.         {
  84.             txtRecMsgs.AppendText(msg + "\r\n");
  85.         }
  86.     }
  87. }
復(fù)制代碼

所有資料51hei提供下載:
wifi上位機(jī).rar (393.83 KB, 下載次數(shù): 68)



作者: xzj3203577    時(shí)間: 2019-3-29 08:37
頂樓主,這個(gè)可以有
作者: huming18    時(shí)間: 2019-4-3 09:07
這個(gè)不錯(cuò)的 謝謝
作者: zixiaguying    時(shí)間: 2019-5-29 08:54
好東西啊

作者: zixiaguying    時(shí)間: 2019-5-29 08:54
東西確實(shí)不錯(cuò)的額




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1