最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#端口轉(zhuǎn)發(fā)用法詳解

 更新時間:2015年03月23日 09:50:40   作者:chongq  
這篇文章主要介紹了C#端口轉(zhuǎn)發(fā)用法,以實例形式較為詳細的分析了C#實現(xiàn)端口轉(zhuǎn)發(fā)的技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了C#端口轉(zhuǎn)發(fā)用法。分享給大家供大家參考。具體分析如下:

這里以鏈接3389的時候為例

例子1:連接a機器的3389端口連不上,因為對方防火墻或者網(wǎng)關(guān)做了限制,只能訪問a機器的個別端口比如80。

例子2:連接a機器的幾乎所有端口都連不上(對方乃內(nèi)網(wǎng)或者防火墻網(wǎng)關(guān)做了限制),只能1433上去,但是對方可以連接你的某些端口。

解決方法:

第一種較簡單,只需要程序在對方開80,你連接他80,程序收到數(shù)據(jù)后,發(fā)送到他本機的3389,同時從他3389收到數(shù)據(jù)后返回到你。程序就是一個中轉(zhuǎn)站。

using System;
using System.Net.Sockets;
using System.Threading;
namespace PortTransponder
{
  class Program
  {
    static void Main(string[] args)
    {
      TcpListener tl = new TcpListener(80);
//這里開對方可以被你連接并且未被占用的端口
      tl.Start();
      while (true)
//這里必須用循環(huán),可以接收不止一個客戶
//因為我發(fā)現(xiàn)終端服務(wù)有時一個端口不行就換一個端口重連
      {
//下面的意思就是一旦程序收到你發(fā)送的數(shù)據(jù)包后立刻開2個線程做中轉(zhuǎn)
        try
        {
          TcpClient tc1 = tl.AcceptTcpClient();
//這里是等待數(shù)據(jù)再執(zhí)行下邊,不會100%占用cpu
          TcpClient tc2 = new TcpClient("localhost", 3389);
          tc1.SendTimeout = 300000;
//設(shè)定超時,否則端口將一直被占用,即使失去連接
          tc1.ReceiveTimeout = 300000;
          tc2.SendTimeout = 300000;
          tc2.ReceiveTimeout = 300000;
          object obj1 = (object)(new TcpClient[] { tc1, tc2 });
          object obj2 = (object)(new TcpClient[] { tc2, tc1 });
          ThreadPool.QueueUserWorkItem(new WaitCallback(transfer), obj1);
          ThreadPool.QueueUserWorkItem(new WaitCallback(transfer), obj2);
        }
        catch { }
      }
    }
    public static void transfer(object obj)
    {
      TcpClient tc1 = ((TcpClient[])obj)[0];
      TcpClient tc2 = ((TcpClient[])obj)[1];
      NetworkStream ns1 = tc1.GetStream();
      NetworkStream ns2 = tc2.GetStream();
      while (true)
      {
        try
        {
//這里必須try catch,否則連接一旦中斷程序就崩潰了
//要是彈出錯誤提示讓機主看見那就囧了
          byte[] bt = new byte[10240];
          int count = ns1.Read(bt, 0, bt.Length);
          ns2.Write(bt, 0, count);
        }
        catch
        {
          ns1.Dispose();
          ns2.Dispose();
          tc1.Close();
          tc2.Close();
          break;
        }
      }
    }
  }
}

希望本文所述對大家的C#程序設(shè)計有所幫助。

相關(guān)文章

  • c# 文件操作(移動,復(fù)制,重命名)

    c# 文件操作(移動,復(fù)制,重命名)

    這篇文章主要介紹了c# 如何對文件操作(移動,復(fù)制,重命名),幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-12-12
  • C#窗體程序?qū)崿F(xiàn)全屏及取消全屏步驟

    C#窗體程序?qū)崿F(xiàn)全屏及取消全屏步驟

    這篇文章主要介紹了C#窗體程序?qū)崿F(xiàn)全屏及取消全屏步驟,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 基于C#實現(xiàn)Windows后臺窗口操作與圖像處理技術(shù)分析

    基于C#實現(xiàn)Windows后臺窗口操作與圖像處理技術(shù)分析

    在Windows編程中,操作后臺窗口是一項復(fù)雜而有用的技術(shù),它可以用來自動化用戶界面測試、應(yīng)用程序機器人等場景,本文將深入探討如何在C#中綁定后臺窗口、獲取后臺窗口界面圖片,以及在圖片中尋找指定圖標并獲取坐標,需要的朋友可以參考下
    2024-12-12
  • C#實現(xiàn)WinForm控件焦點的獲取與失去

    C#實現(xiàn)WinForm控件焦點的獲取與失去

    在一個數(shù)據(jù)輸入表單中,當(dāng)用戶從一個文本框切換到另一個文本框時,需要準確地判斷焦點的轉(zhuǎn)移,以便進行數(shù)據(jù)驗證、提示信息顯示等操作,本文將探討 Winform 控件獲取與失去焦點的相關(guān)知識,需要的朋友可以參考下
    2025-01-01
  • 一文詳解Unity3D?AudioSource組件使用示例

    一文詳解Unity3D?AudioSource組件使用示例

    這篇文章主要為大家介紹了一文詳解Unity3D?AudioSource組件使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • C#中實現(xiàn)Fluent Interface的三種方法

    C#中實現(xiàn)Fluent Interface的三種方法

    這篇文章主要介紹了C#中實現(xiàn)Fluent Interface的三種方法,本文講解了Fluent Interface的簡單實現(xiàn)、使用裝飾器模式和擴展方法實現(xiàn)Fluent Interface等3種實現(xiàn)方法,需要的朋友可以參考下
    2015-03-03
  • C#使用FluentHttpClient實現(xiàn)請求WebApi

    C#使用FluentHttpClient實現(xiàn)請求WebApi

    FluentHttpClient 是一個REST API 異步調(diào)用 HTTP 客戶端,調(diào)用過程非常便捷,下面我們就來學(xué)習(xí)一下C#如何使用FluentHttpClient實現(xiàn)請求WebApi吧
    2023-12-12
  • C#通過域名獲得IP地址的方法

    C#通過域名獲得IP地址的方法

    這篇文章主要介紹了C#通過域名獲得IP地址的方法,涉及C#中GetHostByName方法的使用技巧,需要的朋友可以參考下
    2015-04-04
  • c#初學(xué)簡單程序?qū)嵗a介紹

    c#初學(xué)簡單程序?qū)嵗a介紹

    這篇文章介紹了c#初學(xué)簡單程序?qū)嵗a,有需要的朋友可以參考一下
    2013-10-10
  • C# 使用modbus 讀取PLC 寄存器地址的方法

    C# 使用modbus 讀取PLC 寄存器地址的方法

    今天通過本文給大家介紹C# 使用modbus 讀取PLC 寄存器地址的方法,使用的組件Nmodbus,文中通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2021-10-10

最新評論

孝感市| 呼伦贝尔市| 富裕县| 客服| 德阳市| 朝阳区| 临邑县| 皋兰县| 习水县| 兴业县| 维西| 屏山县| 遵义市| 泰顺县| 阿瓦提县| 乌兰浩特市| 米泉市| 滦南县| 玉门市| 从江县| 和林格尔县| 弋阳县| 黄冈市| 锦屏县| 元阳县| 湘西| 商河县| 潼南县| 安岳县| 渭南市| 太保市| 固安县| 财经| 高台县| 津南区| 从江县| 库车县| 彭州市| 安远县| 平乡县| 渝中区|