『壹』 C# TCPIP傳送數據
埠號和ip地址自己改一下
using System.Net;
using System.Net.Sockets;
static void Main(string[] args)//伺服器段
{
int port = 2000;
string host = "127.0.0.1";
/**/
///創建終結點(EndPoint)
IPAddress ip = IPAddress.Parse(host);//把ip地址字元串轉換為IPAddress類型的實例
IPEndPoint ipe = new IPEndPoint(ip, port);//用指定的埠和ip初始化IPEndPoint類的新實例
/**/
///創建socket並開始監聽
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//創建一個socket對像,如果用udp協議,則要用SocketType.Dgram類型的套接字
s.Bind(ipe);//綁定EndPoint對像(2000埠和ip地址)
s.Listen(0);//開始監聽
Console.WriteLine("等待客戶端連接");
/**/
///接受到client連接,為此連接建立新的socket,並接受信息
Socket temp = s.Accept();//為新建連接創建新的socket
Console.WriteLine("建立連接");
string recvStr = "";
byte[] recvBytes = new byte[1024];
int bytes;
bytes = temp.Receive(recvBytes, recvBytes.Length, 0);//從客戶端接受信息
recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);
/**/
///給client端返回信息
Console.WriteLine("server get message:{0}", recvStr);//把客戶端傳來的信息顯示出來
string sendStr = "ok!Client send message successful!";
byte[] bs = Encoding.ASCII.GetBytes(sendStr);
temp.Send(bs, bs.Length, 0);//返回信息給客戶端
temp.Close();
s.Close();
Console.ReadLine();
}
static void Main(string[] args)//客戶端
{
try
{
int port = 2000;
string host = "127.0.0.1";
/**/
///創建終結點EndPoint
IPAddress ip = IPAddress.Parse(host);
//IPAddress ipp = new IPAddress("127.0.0.1");
IPEndPoint ipe = new IPEndPoint(ip, port);//把ip和埠轉化為IPEndpoint實例
/**/
///創建socket並連接到伺服器
Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//創建Socket
Console.WriteLine("Conneting…");
c.Connect(ipe);//連接到伺服器
/**/
///向伺服器發送信息
string sendStr = "hello!This is a socket test";
byte[] bs = Encoding.ASCII.GetBytes(sendStr);//把字元串編碼為位元組
Console.WriteLine("Send Message");
c.Send(bs, bs.Length, 0);//發送信息
/**/
///接受從伺服器返回的信息
string recvStr = "";
byte[] recvBytes = new byte[1024];
int bytes;
bytes = c.Receive(recvBytes, recvBytes.Length, 0);//從伺服器端接受返回信息
recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);
Console.WriteLine("client get message:{0}", recvStr);//顯示伺服器返回信息
/**/
///一定記著用完socket後要關閉
c.Close();
}
catch (ArgumentNullException e)
{
Console.WriteLine("argumentNullException: {0}", e);
}
catch (SocketException e)
{
Console.WriteLine("SocketException:{0}", e);
}
Console.WriteLine("Press Enter to Exit");
}
『貳』 求一個Android studio 的 tcpip 客戶端收發的實例,希望大俠們能給一下源碼工程
java">
最基礎的寫法
server端
publicclassMyTcpServer{
publicstaticvoidmian(String[]args){
try{
//構造一個伺服器端埠為12345的socket伺服器;
ServerSocketserverSocket=newServerSocket(12345);
//等待接收一個socket客戶端的連接,並得到客戶端的socket對象。
//此方法在沒有客戶端連接的時候,會阻塞。
Socketclient=serverSocket.accept();
//獲得socket客戶端的輸入管道
InputStreamis=client.getInputStream();
//獲得socket客戶端的輸出管道
OutputStreamos=client.getOutputStream();
byte[]buffer=newbyte[1024];
intlen=is.read(buffer);
System.out.println("-->"+newString(buffer));
os.write("Helloclient".getBytes());
os.flush();
is.close();
os.close();
client.close();
serverSocket.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
client端
{
@Override
publicvoidrun(){
super.run();
try{
Socketclient=newSocket("192.168.3.173",12345);//IP為伺服器IP,埠號為伺服器埠號。
InputStreamin=client.getInputStream();
OutputStreamout=client.getOutputStream();
out.write("Helloserver".getBytes());//如果在伺服器端先進行讀操作。那麼客戶端就應先進行寫操作。
//這樣交替進行,不然將都阻塞在Read讀操作。
out.flush();
byte[]buffer=newbyte[1024];
intlen=in.read();
in.read(buffer);
System.out.println("--->"+newString(buffer));
}catch(IOExceptione){
e.printStackTrace();
}
}
}
}
『叄』 python里tcpip通訊客戶端和伺服器端傳文件怎麼寫
最簡單的,先傳一個定長的位元組表示文件的長度,然後開傳。其實ftp就是標準的tcp/ip下傳文件的應用啊。
『肆』 出現藍屏tcpip.sys 的錯誤 解決的朋友來下!
這里列舉幾個典型的藍屏故障的原因和解決辦法。
一、0X0000000A
這個藍屏代碼和硬體無關,是驅動和軟體有沖突造成的,最早發現這個代碼是因為公司的DELL機器的USB鍵盤和qq2007的鍵盤加密程序有沖突發現的這個問題。也在IBM T系列筆記本上裝驅動失誤產生過。
如果您的機器藍屏了,而且每次都是這個代碼請想一想最近是不是更新了什麼軟體或者什麼驅動了,把它卸載再看一下。一般情況下就能夠解決,如果實在想不起來,又非常頻繁的話,那麼沒辦法,重新做系統吧。
二、0X0000007B
這個代碼和硬碟有關系,不過不用害怕,不是有壞道了,是設置問題或者病毒造成的硬碟引導分區錯誤。
如果您在用原版系統盤安裝系統的時候出這個問題,那說明您的機器配置還是比較新的,作為老的系統盤,不認這么新的硬碟介面,所以得進BIOS把硬碟模式改成IDE兼容模式。當然了,現在人們都用ghost版的操作系統,比較新的ghost盤是不存在這個問題的。
如果您的操作系統使用了一段時間了,突然有一天出現這個問題了,那麼對不起,病毒造成的,開機按F8,選擇最後一次正確的配置,恢復不到正常模式的話那麼請重新做系統吧。
三、0X000000ED
這個故障和硬碟有關系,系統概率比較大,硬碟真壞的概率比較小。我弄過不下二十個這個代碼的藍屏機器了,其中只有一個是硬碟真的有壞道了。剩下的都是卷出了問題,修復即可,這也是為數不多的可以修復的藍屏代碼之一。
修復方法是找原版的系統安裝盤(或者金手指V6那個pe啟動界面里就帶控制台修復)。這里說用系統盤的方法,把系統盤放入光碟機,啟動到安裝界面,選擇按R進入控制台修復,進入控制台後會出現提示符C:\ 大家在這里輸入 chkdsk -r 然後它就會自動檢測並修復問題了,修復完成之後重新啟動計算機就可以進入系統了,進入系統之後最好先殺毒,然後再重新啟動一下試一下,如果正常了那就沒問題了,如果還出這個代碼,那就說明硬碟有問題了,需要更換,或者把有問題的地方單獨分區,做成隱藏分區,用後面的空間來裝系統。
四、0X0000007E、0X0000008E
這倆代碼多是病毒造成的,殺毒即可。正常模式進不去可以開機按F8進安全模式。當然也有可能是內存造成的,可以嘗試重新插拔內存,一般這代碼內存損壞概率不大。
五、0X00000050
硬體故障,硬碟的可能性很大。如果每次都出這一個代碼,首先換一塊硬碟試一下機器能不能正常啟動,如果測試硬碟沒問題,再試內存,內存也試過的話,換CPU,總之這必是硬體故障。
六、coooo21a
C開頭的故障,它報的錯很邪乎,報未知硬體故障,不過出這類C開頭的代碼多半與硬體無關。基本是與系統同時啟動的一些驅動!或者服務的問題,舉一個例子,一次我給一個筆記本的F盤改成了E盤,結果再啟動就出這類C開頭的代碼,最後發現插上一個U盤就能正常啟動,因為插上U盤系統里就有F盤了,然後我發現了隱藏的文件,是開機的時候系統寫入的。我拔掉這個U盤這問題就又出現,後來把E盤改回F問題就沒有了,想來是什麼和系統一起啟動的軟體留在F盤一些文件,沒有了它就會自己建,但是連F盤都沒有了,也就只能報錯了,所以看到這類藍屏可以照比。
七、每次藍屏的代碼都不一樣
這樣的問題,基本上是硬體造成的,尤其以內存為第一個需要懷疑的對象,更換內存嘗試,第二可能性是CPU雖然這東西不愛壞,可是從06年到現在我也遇到倆了,其他硬體基本上不會造成藍屏代碼隨便變的情況。
八、偶爾藍屏,而且代碼一閃而過重新啟動的問題
這個是有有兩種可能
1、以XP為例,在我的電腦上點擊滑鼠右鍵選擇屬性,找到高級選項卡,找到下面的啟動和故障修復項,點擊設置。再彈出的窗口裡找到中間『系統失敗』處有三個選項,第三項自動重新啟動,把這項的勾選取消掉,以後再出問題藍屏就會停住了。
2、已經做過上面的設置,但是還是會一閃而過重新啟動的,那就是顯卡或者CPU過熱造成的,打開機箱查看散熱風扇和散熱器的狀態吧。
另外開機就藍屏看不見代碼一閃而過然後自己重新啟動的情況。這個時候已經不可能在系統里進行第一步的設置了,那麼就要在機器啟動的時候按F8,選擇啟動失敗後禁用重新啟動這項,選擇之後啟動失敗了,系統就會停在藍屏代碼那裡了,這樣大家就可以照著藍屏代碼來查看問題了。
九、其他藍屏代碼
參考第七項,一般首先做系統確認是不是系統的問題,然後以以下順序測試硬體,首先是內存可能性最大,然後是CPU,之後是硬碟,最後是顯卡,主板基本不會藍屏。
引起stop:c000021a unknown hard error部分問題及解決。
1.裝機時出現的stop:c000021a unknown hard error
前幾天我格式化後總裝不上機,我在純DOS格的首先排除病毒和軟體沖突,硬碟磁軌檢查也沒事依然無法裝機,後來發現是裝機光碟損壞引起部分裝機文件不完整引起的,重新換張新系統盤問題解決了。
2.未知磁軌錯誤或者未知硬體錯誤
出現這樣問題先磁軌檢查首我們先確認硬碟的壞道是邏輯壞道還是物理壞道,方法很簡單。在電腦剛剛啟動時,按「F8」鍵,選擇「Command Prompt only」進入DOS模式(操作系統必須為Win95/98,若為Win2000/XP請使用DOS啟動盤),執行「scandisk x:」(X為盤符),Scandisk程序便會檢查硬碟,對產生的邏輯壞道會自行彈出對話框,選擇「Fix it」對邏輯壞道進行初級修復。如掃描程序在某一進度停滯不前,那麼硬碟就有了物理壞道。
對於已進行初步修復的仍有邏輯壞道的硬碟,正常啟動後回到Windows下,進入「我的電腦」中選擇有邏輯壞道的硬碟,單擊滑鼠右鍵,選擇「屬性」→「工具」→「開始檢查」就彈出「磁碟掃描程序」,選中「完全」並將「自動修復錯誤」打上勾單擊「開始」,就開始對該分區進行掃描和修復。
而對於有物理壞道的硬碟,上述方法就無能為力了,但也不是沒有辦法。
面我就介紹一種用「PartitionMagic」(分區魔術師,以下簡稱PM)修復硬碟的方法。
通過對硬碟的重新分區,隱藏有物理壞道的硬碟空間,對其實行隔離。具體的作法是:首先啟動PM,選中「Operations」菜單下的「Check」命令,對硬碟進行直接掃描,標記壞簇後,選中「Operations」菜單下的 「Advanced」→「bad sector retset最後把壞簇分成一個獨立的分區,再通過「Hide partiton」命令將分區隱藏,至此大功告成。
磁軌損壞出現stop:c000021a unknown hard error零磁軌問題較多一般出現這種情況,大多數人就把硬碟作報廢處理。但並非絕對不能修復,原理十分簡單,只要用1扇區代替0扇區就行了
這次請「DiskMan」來幫助我們,它是一款比較常用的硬碟工具,大家可以在華軍軟體園***(bj.onlinedown.net)。***後在純DOS運行,在「硬碟」菜單中選中要修改的盤(一般為C盤),然後依次進入「工具」→「參數修改」→將「起始柱面」的值由「0」改為「1」,確定後保存退出。就可以對硬碟進行重新分區了。
如果出現問題後上述方法均不奏效,那隻好使用終極大法——低級格式化檢查各個硬體安裝有沒問題,有沒有修改過參數:
二.電腦開關機時出現
STOP;c000021a unknown hard error ( 軟體沖突)
發現自己的windows XP關閉不了,也重啟不了,因為我的XP禁用了「如果出現嚴重錯誤就自動重新啟動」,所以每次都只出現藍屏,提示說「stop c000021a unknown hard error unknown hard error 」,初步理解,是不知道的硬體錯誤,上微軟一查C000021A,沒確實的解決和解釋,都是含糊帶過,再用google+查查,發現也有不少網友出現過這個問題,但是,回答的人大部分是說硬碟有未知磁軌錯誤
,或者說是未知硬體錯誤,後者還可以信服,前者就覺得理解錯誤了個hard,不過也暫時當是一種可能性。把電腦reboot了幾次,更慘,系統也進不了,出現同樣的錯誤,換成安全模式,可以進去。不過網上有一部分人的情況是連安全模式也進入不了。
認真想想自己的情況,剛好這段時間顯卡出現過問題,會顯示不了,就猜想會不會是顯卡有問題,於是換一張朋友的顯卡一試,問題依然存在,,難道真會是硬碟有錯誤,用軟體多次檢測,完全沒有問題,這下真的迷惘了,最後心一橫,format重裝。
幾杯咖啡後,新裝好個系統,首先重新啟動,沒問題,進入也沒問題,看來似乎不是硬體有問題,想想還沒裝驅動程序,會不會是某些驅動出了問題呢,因為打了SP2後也更新了些驅動,然後一個一個驅動安裝,一次一啟動,都沒有問題,看來也和驅動無關,既然重新安裝了系統就沒問題了,應該會是系統出問題了吧,然後就開始安裝了常用的軟體,重新啟動,stop c000021a unknown hard error unknown hard error ,又來了,,為什麼剛才可以?難道是軟體問題,但是提示說是hard error啊,認真想想出現問題之前做過什麼,對了,那天***了個winrar3.4來安裝了,會不會是這個的問題呢?因為還有一個多餘的硬碟,就用另一個硬碟安裝了系統,不裝軟體下使用,正常,然後裝winrar3.4,重啟,stop c000021a unknown hard error unknown hard error ,哈,找出原因了,居然是它,,雖然可能是我***的這個版本有問題,但是還是有了陰影,趕快用回winrar3.3,一切正常。
原來,軟體也會引起stop c000021a unknown hard error unknown hard error ,希望我的這段經歷對遇到這個問題的網友有點幫助。
2.病毒引起的,一般在安全模式殺過毒就沒事
3.諾頓(Norton)誤殺Backdoor病毒
諾頓升級到5月17日版本後,會導致打過KB924270補丁的XP系統崩潰,其原因是諾頓將KB924270更新過的netapi32.dll和lsasrv.dll文件誤報為Backdoor.Haxdoor後門病毒。經過初步調查,lsasrv.dll和netapi32.dll是正常的系統文件。
該文件在諾頓隔離後,系統重啟導致藍屏並提示:STOP c000021a Unkown hard error
中毒後請大家不要重啟電腦!!!
Backdoor.haxdoor臨時解決方案
SAV更新到5月17日的病毒定以後,會把
C:\windows\system32\netapi32.dll和 C:\windows\system32\lsasrc.dll
認為是backdoor.haxdoor, 並且把他們隔離掉。
會造成重起機器後無法進入系統,安全模式也無法進入,藍屏。
目前的緊急對策:
從系統中心---右擊伺服器---所有任務---Symantec antivirus---病毒定義管理器---點擊右上角的「配置」----出現對話框後店擊「病毒定義文件」---然後選擇之前的病毒定義。
使得伺服器不要下發今天的病毒定義。
對於已經更新病毒定義的客戶端,千萬不要重新啟動電腦!!!!
關掉symantec antivirus 服務,如果netapi32.dll和lsasrc.dll文件存在,且修改日期不是今天,說明沒有被完全隔離(應該是部分);從隔離區裡面恢復這兩個文件,或者從沒有問題的電腦這兩個文件到C:\windows\system32。
然後把C:\program files\common files\symantec shared\virusdefs\下把20070517這個文件夾刪掉。
Symantec正在加急開發更新的病毒定義,新的病毒定義出來後,請馬上更新到最新。
已經報出有病毒,但機器已經重啟並無法進入系統(XP SP2),有以下解決方法:
1> 接上光碟機,插如WINDOWS安裝光碟,並選擇從CDROM啟動
2> 選擇從控制台恢復,按"R"鍵
3> 假設您的光碟機盤符為"F:\",敲入以下命令
f:\I386\netapi32.dl_ c:\windows\system32\netapi32.dll
和
f:\I386\lsasrv.dl_ c:\windows\system32\lsasrv.dll
如果遇到提示是否覆蓋原有文件,請選擇"Yes".
4> 重新啟動機器,從硬碟啟動,即可進入系統.
我給你12種方法調試,快試試吧:
1.電腦里有木馬或病毒干擾,下載「360安全衛士」和「360殺毒雙引擎版」,建議「全盤掃描」病毒和木馬,修補電腦上的漏洞!
2.你下載的「播放器」,或「聊天軟體」,或「驅動」,或「IE瀏覽器」的程序不穩定,或者「版本太舊」!建議卸掉,下載新的,或將其升級為「最新版本」。
3.就是你安裝了兩款或兩款以上的同類軟體(如:兩款播放器,兩款qq,或多款瀏覽器,多款殺毒軟體等等)!它們在一起不「兼容」,卸掉「多餘」的那一款!
4.你在電腦左下角「開始」菜單里找到「強力卸載電腦上的軟體」,找到多餘的那款卸掉! 卸完了再「強力清掃」(看準了再卸,別把有用的卸了)。
5.電腦開機時間太長,cpu內存過熱,散熱性不好,顯卡和內存條插的不牢,建議拔下用橡皮或干紙(布)擦拭!或者更換內存條插槽,毛刷清理灰塵,裝回!
6.重啟電腦,開機,出完品牌後,按「F8」,回車,回車,進入「安全模式」,「高級啟動選項」,找到「最後一次正確配置」,按下去,試試!
7.如果以上方法不行,下載「360系統急救箱」或「金山系統急救箱」開始「急救系統」,先查殺,再重啟電腦,來到「隔離|恢復」「徹底刪除」病毒,再點開「修復」,全選,「修復」文件!
8.如果是「Win7系統」或「Vista系統」玩游戲的時候「藍屏」,是游戲和內存沖突,不支持,建議更換「游戲版本」,或「卸載游戲」或「更換系統」,症狀便可消失!
9.如果這是「偶然」或「開機和關機」藍屛,重啟電腦便可恢復正常,也有可能是「軟體」需要「升級」(注意:「360安全衛士6.2版」可以不升,「WinRAR」也可以不升!)或「系統中毒」所致!
10.重裝系統和還原系統後,電腦「繼續」藍屏,原因是:還原和重裝後電腦的軟體都是「舊的」了,或程序不穩定!或系統不支持,所以會藍屏報錯!所以,「還原了系統和重裝的系統」,軟體和驅動都必須「更新升級」一下,用「360安全衛士」體檢,找到點開「需要升級」的播放器和下載工具升級,覆蓋安裝!
11.電腦「硬碟」或「顯卡」或其它「硬體」有「壞道」,或系統文件「誤刪」或「丟失」,實在不行就「還原系統」或「重裝系統」,或更換「硬碟」等!
12.軟體和硬體都有可能出現「藍屏」,建議用「排除法」,一一嘗試排除可能性,最後「總結」原因!