91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 175KB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2021-06-17
  • 語言: C#
  • 標(biāo)簽: C#??UDP??

資源簡介

一個(gè)C#編寫的UDP通信實(shí)例,在兩個(gè)不同的電腦上打開項(xiàng)目,可以進(jìn)行通信。測試用,能實(shí)現(xiàn)我方發(fā)送,對方接收,同時(shí)我方屏幕也記錄發(fā)送數(shù)據(jù),類似于聊天環(huán)境。

資源截圖

代碼片段和文件信息

using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Windows.Forms;
using?System.Net;
using?System.Net.Sockets;
using?System.Threading;

/*?UDP通信原理:
?*?使用UDP通信沒有服務(wù)器和客戶端的區(qū)別,雙方是平等的。我和對方在通信時(shí),我和對方的接收和發(fā)送數(shù)據(jù)的模式一模一樣。
?*?以下從我的角度,說明通信的模式:
?*?我在我的IP地址下,指定一個(gè)端口,我用這個(gè)端口進(jìn)行數(shù)據(jù)的收和發(fā);
?*?接收的過程是持續(xù)性的,我每時(shí)每刻都在查詢我的這個(gè)端口上是否有數(shù)據(jù)過來,有的話就放在Thread上,即接收下來,不區(qū)分是誰發(fā)過來的,不考慮是否和對方建立了連接。
?*?接收下來的UDP數(shù)據(jù)報(bào),我對它進(jìn)行解碼,之后進(jìn)行顯示等操作。
?*?發(fā)送的過程是我控制的,我想發(fā)給誰,只要指定接收人的IP地址和端口,我把數(shù)據(jù)進(jìn)行編碼,以UDP數(shù)據(jù)報(bào)的形式發(fā)出去就好了。?*/

namespace?UDPClient_Server
{
????public?partial?class?UDPForm?:?Form
????{
????????public?string?recvData=““;??//接收到的數(shù)據(jù)初始化
????????public?static?string?IP_Local;??//公共靜態(tài)本機(jī)IP地址
????????public?static?int?Port_Local;???//公共靜態(tài)本機(jī)接收和發(fā)送的端口
????????public?static?UdpClient?recvClient;??//UDP數(shù)據(jù)報(bào)接收服務(wù)
????????public?static?Thread?recThread;???//線程;用于接收數(shù)據(jù)而啟用的

????????public?UDPForm()
????????{
????????????InitializeComponent();
????????}

????????private?void?btnSend_Click(object?sender?EventArgs?e)??//發(fā)送數(shù)據(jù)
????????{
????????????if?(string.IsNullOrWhiteSpace(txtRemoteIP.Text.Trim())?||?string.IsNullOrWhiteSpace(txtRemotePort.Text.Trim()))
????????????{
????????????????MessageBox.Show(“請輸入接收方“);
????????????}
????????????else?if?(string.IsNullOrWhiteSpace(rtxtSend.Text.Trim()))
????????????{
????????????????MessageBox.Show(“請輸入發(fā)送內(nèi)容“);
????????????}
????????????else
????????????{
????????????????string?senddata?=?rtxtSend.Text;
????????????????byte[]?sendData?=?Encoding.Default.GetBytes(senddata);??//將要發(fā)送的數(shù)據(jù)進(jìn)行編碼
????????????????int?sendLen?=?sendData.Length;
????????????????UdpClient?sendClient?=?new?UdpClient();????//UDP數(shù)據(jù)報(bào)發(fā)送服務(wù)
????????????????string?IP_Remote?=?txtRemoteIP.Text;
????????????????int?Port_Remote?=?Convert.ToInt32(txtRemotePort.Text);
????????????????sendClient.Send(sendData?sendLen?new?IPEndPoint(IPAddress.Parse(IP_Remote)?Port_Remote));??//發(fā)送給指定接收的IP及其端口
????????????????rtxtRec.Text?+=?“我:“?+?senddata+?“\r\n“;
????????????????rtxtSend.Clear();
????????????????sendClient.Close();???//結(jié)束UDP數(shù)據(jù)報(bào)發(fā)送服務(wù)
????????????}
????????}

????????private?void?timer1_Tick(object?sender?EventArgs?e)??//定時(shí)器,持續(xù)性對有無收到數(shù)據(jù)進(jìn)行查詢
????????{
????????????timer1.Enabled?=?false;
????????????if?(recvData.Length?>?0)???????//有數(shù)據(jù)就顯示,顯示后就將數(shù)據(jù)清空,防止重復(fù)顯示
????????????{
????????????????rtxtRec.Text?+=?“對方:“?+?recvData?+?“\r\n“;
????????????????recvData?=?““;
????????????}
????????????timer1.Enabled?=?true;
????????}

????????private?void?btnServer_Click(object?sender?EventArgs?e)
????????{
????????????IP_Local?=?txtLocateIP.Text;
????????????Port_Local?=?Convert.ToInt32(txtLocatePort.Text);
????????????recvClient?=?new?UdpClient(Port_Local);??//指定一個(gè)端口,進(jìn)行UDP數(shù)據(jù)報(bào)接收服務(wù)
????????????recThread?=?new?Thread(Rec_Data);??//指定線程要接收來自指定端口的數(shù)據(jù)
????????????void?Rec_Data()
????????????{
????????????????IPEndPoint?Remoteip?=?new?IPEndPoint(IPAddress.Any?Port_Local)

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

????..A..H.?????80384??2018-12-03?16:45??UDPClient_Server\.vs\UDPClient_Server\v15\.suo

?????文件??????????0??2018-11-24?17:04??UDPClient_Server\.vs\UDPClient_Server\v15\Server\sqlite3\db.lock

?????文件?????593920??2018-11-30?19:39??UDPClient_Server\.vs\UDPClient_Server\v15\Server\sqlite3\storage.ide

?????文件??????32768??2018-12-03?16:41??UDPClient_Server\.vs\UDPClient_Server\v15\Server\sqlite3\storage.ide-shm

?????文件??????????0??2018-12-03?16:29??UDPClient_Server\.vs\UDPClient_Server\v15\Server\sqlite3\storage.ide-wal

?????文件????????189??2018-11-24?17:04??UDPClient_Server\UDPClient_Server\App.config

?????文件??????12800??2018-12-03?16:42??UDPClient_Server\UDPClient_Server\bin\Debug\UDPClient_Server.exe

?????文件????????189??2018-11-24?17:04??UDPClient_Server\UDPClient_Server\bin\Debug\UDPClient_Server.exe.config

?????文件??????32256??2018-12-03?16:42??UDPClient_Server\UDPClient_Server\bin\Debug\UDPClient_Server.pdb

?????文件???????4888??2018-12-03?16:45??UDPClient_Server\UDPClient_Server\Form1.cs

?????文件??????11754??2018-11-26?17:16??UDPClient_Server\UDPClient_Server\Form1.Designer.cs

?????文件???????6011??2018-11-26?17:16??UDPClient_Server\UDPClient_Server\Form1.resx

?????文件???????1443??2018-11-24?18:56??UDPClient_Server\UDPClient_Server\obj\Debug\DesignTimeResolveAssemblyReferences.cache

?????文件???????7373??2018-11-25?19:44??UDPClient_Server\UDPClient_Server\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

?????文件??????????0??2018-11-24?17:04??UDPClient_Server\UDPClient_Server\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs

?????文件??????????0??2018-11-24?17:04??UDPClient_Server\UDPClient_Server\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs

?????文件??????????0??2018-11-24?17:04??UDPClient_Server\UDPClient_Server\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs

?????文件?????????42??2018-11-24?17:04??UDPClient_Server\UDPClient_Server\obj\Debug\UDPClient_Server.csproj.CoreCompileInputs.cache

?????文件???????1387??2018-11-26?15:46??UDPClient_Server\UDPClient_Server\obj\Debug\UDPClient_Server.csproj.FileListAbsolute.txt

?????文件???????1012??2018-11-26?17:16??UDPClient_Server\UDPClient_Server\obj\Debug\UDPClient_Server.csproj.GenerateResource.cache

?????文件??????11490??2018-11-24?17:04??UDPClient_Server\UDPClient_Server\obj\Debug\UDPClient_Server.csprojAssemblyReference.cache

?????文件??????12800??2018-12-03?16:42??UDPClient_Server\UDPClient_Server\obj\Debug\UDPClient_Server.exe

?????文件??????32256??2018-12-03?16:42??UDPClient_Server\UDPClient_Server\obj\Debug\UDPClient_Server.pdb

?????文件????????180??2018-11-26?17:44??UDPClient_Server\UDPClient_Server\obj\Debug\UDPClient_Server.Properties.Resources.resources

?????文件????????180??2018-11-26?17:44??UDPClient_Server\UDPClient_Server\obj\Debug\UDPClient_Server.UDPForm.resources

?????文件????????530??2018-11-24?17:05??UDPClient_Server\UDPClient_Server\Program.cs

?????文件???????1330??2018-11-24?17:04??UDPClient_Server\UDPClient_Server\Properties\AssemblyInfo.cs

?????文件???????2845??2018-11-24?17:04??UDPClient_Server\UDPClient_Server\Properties\Resources.Designer.cs

?????文件???????5612??2018-11-24?17:04??UDPClient_Server\UDPClient_Server\Properties\Resources.resx

?????文件???????1103??2018-11-24?17:04??UDPClient_Server\UDPClient_Server\Properties\Settings.Designer.cs

............此處省略19個(gè)文件信息

評論

共有 條評論