Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 22382|Jawab: 7

[Formulir Menang] 【Kecepatan Tinggi】 Pemindai multi-benang port segmen alamat IP C #

[Salin tautan]
Diposting pada 11/12/2015 15.17.37 | | | |

Dalam beberapa tahun terakhir, pembaca RFID, gateway rumah pintar, sensor suhu dan kelembaban sering digunakan dalam pekerjaan, umumnya ada port serial dan port jaringan, karena alasan di tempat, port serial umumnya kurang digunakan, kebanyakan menggunakan port jaringan. Metode koneksinya adalah alamat IP dan port, beberapa perangkat memiliki perangkat lunak pencarian, beberapa tidak. Seringnya penggunaan lingkungan pengujian dan situs pasti membingungkan. Pembaca RFID terbaru menggunakan modul port ke port serial Ethernet ZN-100, dan perangkat lunak pencarian (ZNetCom Utility) bagus dan kecepatan pencariannya juga sangat cepat. (Seperti yang ditunjukkan di bawah)

Saya berpikir untuk mengembangkannya sendiri, pertama-tama, segmen IP dan port dapat disesuaikan, yang mudah digunakan; Kecepatan pencarian harus cepat, dan saya terburu-buru untuk menggunakan multithreading dan asinkron. Mari kita ambil foto dulu.



  1. #region 扫描方法

  2.         public void Scan(string m_host, int m_port)
  3.         {
  4.             //我们直接使用比较高级的TcpClient类
  5.             TcpClient tc = new TcpClient();
  6.             //设置超时时间
  7.             tc.SendTimeout = tc.ReceiveTimeout = 2000;

  8.             try
  9.             {
  10.                 //同步方法
  11.                   //IPAddress ip = IPAddress.Parse(host);
  12.                 //IPEndPoint IPendp = new IPEndPoint(ip, port);
  13.                 //tc.Connect(IPendp);

  14.                 //异步方法
  15.                 IAsyncResult oAsyncResult = tc.BeginConnect(m_host, m_port, null, null);
  16.                 oAsyncResult.AsyncWaitHandle.WaitOne(1000, true);//1000为超时时间

  17.                 if (tc.Connected)
  18.                 {
  19.                     //如果连接上,证明此端口为开放状态
  20.                        UpdateListBox(listBox1, m_host + ":" + m_port.ToString());
  21.                 }
  22.             }
  23.             catch (System.Net.Sockets.SocketException e)
  24.             {
  25.                 //容错处理
  26.                 //MessageBox.Show("Port {0} is closed", host.ToString());
  27.                 //Console.WriteLine(e.Message);
  28.             }
  29.             finally
  30.             {              
  31.                 tc.Close();
  32.                 tc = null;               
  33.                 scannedCount++;
  34.                 runningThreadCount--;

  35.             }
  36.         }
  37.         #endregion
  38. 如果使用同步方法会有明显的卡顿,用户体验不好;使用异步感觉很流畅,很爽,自己可以注释代码亲测。
Salin kode

Kode sumber berkontribusi: IP端口扫描.rar (31.73 KB, Jumlah unduhan: 12)






Mantan:Protokol mana yang berbasis TCP dan mana yang berbasis UDP?
Depan:Void Pointer Basic
Diposting pada 11/12/2015 15.51.53 |
Diposting pada 11/12/2015 18.00.48 |
Cepat:Postingan diblokir oleh admin atau moderator
Diposting pada 22/05/2016 15.13.38 |
Ini sangat bagus
Diposting pada 20/08/2016 16.35.02 |
Ternyata perangkat lunak proxy pemindaian pemilik juga ditingkatkan dengan mengacu pada kode sumber ini. Terima kasih!
Diposting pada 21/08/2016 13.11.18 |
Mengapa ini tidak bisa berhasil?
 Tuan tanah| Diposting pada 03/12/2025 11.58.07 |
Uji konektivitas port TCP



 Tuan tanah| Diposting pada 03/12/2025 11.58.49 |
.NET/C# memeriksa apakah port TCP tersedia
https://www.itsvse.com/thread-10721-1-1.html
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com