最新文章
|
知識(shí)管理交流
→『 技術(shù)文檔交流 』
本版文數(shù):7877 今日文數(shù):2817
|
1、NAT分類
1.1基礎(chǔ)型NAT僅將內(nèi)網(wǎng)主機(jī)的私有IP地址轉(zhuǎn)換成公網(wǎng)的IP地址,并不將TCP/UDP端口信息進(jìn)行轉(zhuǎn)換,分為靜態(tài)NAT和動(dòng)態(tài)NAT。1.2NAPTNAPT不但會(huì)改變經(jīng)過(guò)這個(gè)NAT設(shè)備的IP數(shù)據(jù)報(bào)的IP地址,還會(huì)改變IP數(shù)據(jù)報(bào)的TCP/UDP端口。1.2.1錐型NAT完全錐型(FullConeNAT):...
|
***閱讀下面代碼前請(qǐng)先了解UDP穿越NAT原理***1.服務(wù)器主窗體源代碼publicpartialclassfrmServer:Formprivatevoidbutton1_Click(objectsender,EventArgse)catch(Exceptionex)}//刷新用戶列表privatevoidOnU...
|
打洞原理:名稱IPPortPC-A192.168.1.2178000NAT-A61.188.71.15550020PC-B192.168.1.1178000NAT-B61.188.71.10560020Server115.29.97.2216000PC-A,PC-B的IP均為各自內(nèi)網(wǎng)地址。NAT-A,NAT-B,Ser...
|
論壇上經(jīng)常有對(duì)P2P原理的討論,但是討論歸討論,很少有實(shí)質(zhì)的東西產(chǎn)生(源代碼)。呵呵,在這里我就用自己實(shí)現(xiàn)的一個(gè)源代碼來(lái)說(shuō)明UDP穿越NAT的原理。首先先介紹一些基本概念:NAT(NetworkAddressTranslators),網(wǎng)絡(luò)地址轉(zhuǎn)換:網(wǎng)絡(luò)地址轉(zhuǎn)換是在IP地址日益缺乏的情況下產(chǎn)生的,它的主要目的就是為了能夠...
|
本文以實(shí)例介紹了C#如何通過(guò)winmm.dll來(lái)播放聲音,主要實(shí)現(xiàn)步驟如下:1.首先導(dǎo)入如下兩個(gè)函數(shù):///向媒體控制接口發(fā)送控制命令///命令,參見(jiàn)http://msdn.microsoft.com/en-us/library/windows/desktop/dd743572(v=vs.85).aspx///命令返回...
|
C#中聲音的播放主要有三種方法:1.使用API函數(shù)。2.使用SoundPlayer類播放。3.使用DirectX進(jìn)行播放。
一、使用API函數(shù)進(jìn)行播放。windows操作系統(tǒng)中的winmm.dll文件中封裝了聲音處理的函數(shù)。在C#中我們可以通過(guò)平臺(tái)調(diào)用的方式使用這里邊的API函數(shù)來(lái)播放聲音。下邊的類中使用了PlayS...
|
做一個(gè)項(xiàng)目,需要播放聲音,于是找了幾種方法。首先用的是Soundplayer,它在.NET自帶的類庫(kù)System.Media下。Soundplayer這家伙有一個(gè)特點(diǎn)就是只能播放一個(gè)音頻文件,不論你new出多少個(gè)Soundplayer,它總是播放最后一個(gè)音頻。只要其中任何一個(gè)Soundplayer被停止,馬上就沒(méi)聲音了...
|
前言各網(wǎng)查了一圈,NAudio相關(guān)中文資料較少。鑒于本人最近在使用此庫(kù)的播放音頻方面有所涉及,在此將自己的學(xué)習(xí)過(guò)程與經(jīng)驗(yàn)總結(jié)與大家分享,同時(shí)也歡迎大佬探討和指正。簡(jiǎn)介為什么使用NAudioNAudio為.NET平臺(tái)下的開(kāi)源庫(kù),采用ML-PL協(xié)議,開(kāi)源地址:https://github.com/naudio/NAudio...
|
usingSystem;usingSystem.Collections.Generic;usingSystem.Data;usingSystem.IO;usingSystem.Linq;usingSystem.Text;usingSystem.Web;namespace落地頁(yè)測(cè)試代碼#endregion#region檢...
|
程序中,批量插入數(shù)據(jù)有兩種思路。1、用for循環(huán),一條一條的插入,經(jīng)實(shí)測(cè),這種方式太慢了(插入一萬(wàn)條數(shù)據(jù)至少都需要6-7秒),因?yàn)槊看尾迦攵家蜷_(kāi)數(shù)據(jù)庫(kù)連接,執(zhí)行sql,關(guān)閉連接,顯然這種方式不可行。2、使用SqlBulkCopy,在程序中定義一個(gè)DataTable,把需要插入的數(shù)據(jù)存儲(chǔ)在DataTable中,注意Da...
|
(1)拼接產(chǎn)生SQL語(yǔ)句:stringsql=insertintoczyb(yhm,mm,qx)values(+txtName.Text+,+txtPassword.Text+,+cmbPriority.Text+);OleDbCommandcmd=newOleDbCommand(sql,conn);這種方法寫法比較復(fù)...
|
環(huán)境需要在Framework4.0+代碼booltype=Environment.Is64BitOperatingSystem;
|
在實(shí)際項(xiàng)目中,WinForm窗體或者控件不能滿足要求,所以就需要自己設(shè)計(jì)窗體等,當(dāng)然設(shè)計(jì)界面可以用的東西很多,例如WPF、或者一些第三方的庫(kù)等。本例中將采用WinForm設(shè)計(jì)一個(gè)扁平美觀的窗體。上一篇中我們制作了一個(gè)button按鈕控件,剛好本例可采用需要的可以參考:C#自定義Button按鈕控件窗體效果:
接下來(lái)就...
|
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Diagnostics;usingSyst...
|
usingSystem;usingSystem.Security.Cryptography;usingSystem.IO;usingSystem.Data;usingSystem.Web;usingSystem.Text;usingSystem.Security;namespaceCMIS.Common;#endreg...
|
1.c#中的命名空間是namespace類似于Java中的package(包),在Java中導(dǎo)入包用import而c#中用using。2.c#和Java都是從main函數(shù)入口的,但是c#中的main函數(shù)的首字母必須大寫,它有四種寫法如下:staticvoidMain(string[]args)staticintMain...
|
usingSystem;usingSystem.Collections.Generic;usingSystem.Web;usingSystem.Data.OleDb;usingSystem.Data;usingSystem.Data.SqlClient;//數(shù)據(jù)庫(kù)連接字符串(四個(gè)參數(shù),數(shù)據(jù)庫(kù)服務(wù)器名稱,連接的數(shù)據(jù)庫(kù)名稱...
|
C#代碼中使用圖片、視頻、.doc、.xls等文件時(shí)都要先獲得文件路徑,但是有的路徑用斜杠/作為分隔符,有的路徑用反斜杠\作為分隔符,搞得我有點(diǎn)蒙圈,查閱了一些資料后終于弄清楚使用斜杠/和反斜杠\的區(qū)別是什么。Unix使用斜杠/作為路徑分隔符,而Web應(yīng)用最新使用在Unix系統(tǒng)上面,所以目前所有的網(wǎng)絡(luò)地址都采用斜杠/作...
|
寫在前面在windows系統(tǒng)中,c盤中的目錄權(quán)限比較高,有時(shí)制作安裝包的時(shí)候,默認(rèn)的安裝路徑就是在c盤,但對(duì)運(yùn)行可執(zhí)行文件,有時(shí)候需要為其添加完全控制權(quán)限,或者讀寫權(quán)限。這里將當(dāng)時(shí)的解決方案記錄一下。代碼實(shí)現(xiàn)在C盤添加一個(gè)文件夾,并在文件夾內(nèi)部,新建一個(gè)文本文件,如圖所示:
該文件夾下,新建一個(gè)文本文件,如圖所示:
...
|
與?相關(guān)的使用大致分為以下幾種:1.可空類型看標(biāo)題就能夠很好的理解這個(gè)概念:可以為空的類型。而在C#中可以為空也就是null的類型,都是引用類型,所以?對(duì)于引用類型來(lái)說(shuō),也就沒(méi)有什么存在的價(jià)值了,只能服務(wù)于值類型,使得在某些不確定的情況下,值類型擁有更好的適應(yīng)能力。也就是說(shuō),值類型也可以接受null,當(dāng)然是在使用?的前...
|
一、簡(jiǎn)述微軟官方提供了一個(gè)類庫(kù)包vsintlpack1.zip支持:簡(jiǎn)繁體中文之間的轉(zhuǎn)換獲取簡(jiǎn)體中文字符的常用屬性比如拼音,多音字,同音字,筆畫數(shù)將小寫的數(shù)字字符串格式化成簡(jiǎn)體中文,繁體中文,日文和韓文的大寫數(shù)字字符串二、安裝使用1)打開(kāi)下載地址,解壓安裝CHSPinYinConv.msi
2)打開(kāi)默認(rèn)安裝目錄:C:...
|
最近寫了個(gè)工具,將指定目錄下的CAD文件批量轉(zhuǎn)換為圖片格式。首先需要添加對(duì)應(yīng)的引用:在AutoCAD2008的環(huán)境下對(duì)應(yīng)AutoCAD2008TypeLibrary和AutoCAD/ObjectDBXCommon17.0TypeLibrary這兩個(gè)引用,筆者由于是AutoCAD2010,只找到了AutoCAD2010T...
|
form_load中加入如下語(yǔ)句this.WindowState=FormWindowState.Minimized;this.ShowInTaskbar=false;SetVisibleCore(false);
|
這個(gè)容器的用途我就不多BB了,直接上效果。小哥哥我的原創(chuàng),在這里分享給大家。
想要實(shí)現(xiàn)的效果,不用解釋也看得出來(lái)了,為了給窗體節(jié)省空間,讓它可以貼附在窗體的邊緣。那么怎么實(shí)現(xiàn)這個(gè)效果呢?原理在于對(duì)Padding這個(gè)屬性的妙用。另外可以看見(jiàn),窗體在設(shè)計(jì)的時(shí)候也是可以進(jìn)行事件的交互的,就像TabControl在設(shè)計(jì)的時(shí)候...
|
方法1GetManifestResourceStreamVB.NET中資源的名稱為:項(xiàng)目默認(rèn)命名空間.資源文件名C#中則是:項(xiàng)目命名空間.資源文件所在文件夾名.資源文件名例如:istr=assm.GetManifestResourceStream(項(xiàng)目命名空間.資源文件所在文件夾名.資源文件名);讀取資源文件注意:資源...
|