『壹』 用udp協議發送數據
1. 在資源管理器的查看或工具菜單中選文件夾選項,選中"根據所選設置自定義"一項之後按設置按鈕,選中"在同一窗口中打開每個文件夾"一項就好了。
2. 我的電腦中沒有這個文件,說明它是某個軟體的文件,你只要用查找文件的功能找一下就可以知道它在什麼位置,根據文件夾的名稱判斷出是哪個軟體的文件,卸載或重裝一遍這個軟體應該可以解決。
我想是這個軟體冬冬
ZoneAlarm Free
這個軟體你是否裝了
ZoneAlarm來保護你的電腦,防止Trojan(特洛伊木馬)程序,Trojan也是一種極為可怕的程序。ZoneAlarm可以幫你執行這項重大任務喔。而且還是免費的。使用很簡單,你只要在安裝時填入你的資料,如有最新的ZoneAlarm,你就可以免費網上更新。安裝完後從新開機,ZoneAlarm就會自動啟動,幫你執行任務。當有程序想要存取Internet時,如網路瀏覽器可能會出現連不上網路,這時你可以在右下角ZoneAlarm的小圖示上按兩下滑鼠左鍵,選取Programs的選項,勾選你要讓哪些軟體上網,哪些不可以上網,利用此種方法來防治一些來路不明的軟體偷偷上網。最好的方法是鎖住(Lock)網路不讓任何程序通過,只有你核準的軟體才可以通行無阻。你還可利用它來看看你開機後已經使用多少網路資源,也可以設定鎖定網路的時間。這么好用的軟體你一定要親自使用才能感覺到它的威力。
如裝了應該沒有問題
『貳』 用udp協議發送數據
vsmon - vsmon.exe - 進程信息
進程文件: vsmon 或者 vsmon.exe
進程名稱: True Vector Internet Monitor
描述:
vsmon.exe是ZoneAlarm個人防火牆的一部分。它用於監視網路瀏覽和對網路攻擊進行警報。
出品者: Zone Labs Inc.
屬於: ZoneAlarm
系統進程: 否
後台程序: 是
使用網路: 否
硬體相關: 否
常見錯誤: 未知N/A
內存使用: 未知N/A
安全等級 (0-5): 0
間諜軟體: 否
Adware: 否
病毒: 否
木馬: 否
http://www.abcku.com/vsmon/
這個是所有進程的一個站點有疑問可以去看一下
『叄』 delphi 使用UDP發送結構體問題
SendStruct = record
ASize: Integer;
Name: array[0..0] of ansichar;
end;
你這樣定義結構後,你就不能用new來分配內存了,因為用new長度就算不對了,所以要用getmem,自己算要分配的長度。比如下面:
var p:PSendStruct;
s:string;
len:Integer;
begin
s:='hello';
len:=sizeof(TSendStruct)+length(s);
getMem(p,len);
FillChar(p^,len,0);
p^.ASize:=len;
move(s[1],p^.Name,length(s));
//self.Caption:=pchar(@p^.Name);
IdUDPClient1.SendBuffer(p^, len);
freeMem(p);
end;
接收的時候類似,也用getmem分配。udp發送的數據包大小是有限制的(好象1024位元組),所以如果你的數據包大過這個限制,你還得自己分包。
另外,定義網路發送的結構,最好加上packed關鍵字,結構會小不少。比如:
SendStruct =packed record
ASize: Integer;
Name: array[0..0] of ansichar;
end;
『肆』 (c#)udp文件發送問題
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.IO;
namespace 文件傳輸
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPEndPoint iped = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 10000);
int orze = 0;
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
string ip,port,str;
socket.Bind(iped); //與當前一個套接字進行綁定
EndPoint ep = (EndPoint)(new IPEndPoint(IPAddress.Any,0));
byte[] buff=new byte[1024];
socket.ReceiveFrom(buff, ref ep); //偵聽傳入請求
//sendfile = Encoding.Unicode.GetString(buff);
//sendfile = sendfile.Substring(0, Convert.ToInt32(sendfile.Substring(0, 3)));
str = ((IPEndPoint)ep).ToString();
ip = str.Substring(0, str.IndexOf(":"));
port = str.Substring(str.IndexOf(":") + 1); //記錄IP地址
IPEndPoint ipe = new IPEndPoint(IPAddress.Parse(ip),Convert.ToInt32(port));
byte[] b = Encoding.Unicode.GetBytes("1");
socket.SendTo(b, ipe); //發送模擬的同意信號
Stream sr = new FileStream("f:\\test.rar", FileMode.Create, FileAccess.ReadWrite); //創建一個流
while (true)
{
socket.ReceiveFrom(buff, ref ep);//接收傳入的數據
try
{
str = Encoding.Unicode.GetString(buff);
if (str.Substring(0, 6) == "TheEnd") //判斷文件的傳輸是否結束
break;
}
catch
{}
sr.Write(buff,0,(int)(buff.Length)); //將接收到的數據寫入流
socket.SendTo(b,ipe); //請求下一段數據
}
sr.Close(); //關閉當前流
MessageBox.Show("文件接收成功!");
}
private void button1_Click(object sender, EventArgs e)
{
backgroundWorker1.RunWorkerAsync();
}
private void backgroundWorker2_DoWork(object sender, DoWorkEventArgs e)
{
Stream ss=new FileStream ("e:\\test.rar",FileMode.Open,FileAccess.ReadWrite);
//string mess = "sss";
byte[] buff=new byte[1024];
EndPoint ep=((EndPoint)iped);
socket.SendTo(Encoding.Unicode.GetBytes("1"), iped); //發送模擬的文件傳輸請求
socket.ReceiveFrom(buff, ref ep); //等待對方回應
do
{
buff = new byte[1024];
orze = ss.Read(buff, 0, 1024);
socket.SendTo(buff, iped);
socket.ReceiveFrom(buff, ref ep);
} while (orze > 0);
buff = Encoding.Unicode.GetBytes("TheEnd");
socket.SendTo(buff, iped); //發送結束信號
ss.Close(); //關閉文件流
MessageBox.Show("文件傳送已完成!");
// orze = 0;
}
private void button2_Click(object sender, EventArgs e)
{
backgroundWorker2.RunWorkerAsync();
}
}
}
『伍』 你好,我想請教一下udp發送數據包的問題,是這樣發送的數據是16進制的
「80000f29」發出去"38 30..."含義是:有8個可顯字元('8' '0' '0' '0'...)被發出,'8'的值本身是0x38, 把內存顯示變為可顯示就是"38...
要發出「80 00 0f 29, 也就是說發出的是 0x80 0x00 0x0f 0x29, 那就把這些二進制存到txt中去好了,再走之前的流程就達到預期了。注意二進制存到txt去,和之前的「80000f29」的字元串 是2碼事。你可以研究一下二進制txt和字元串txt的區別即可。
『陸』 C語言發送UDP數據的!
不明白你要幹嘛,發表了幾個陳述句,貼了段code...
『柒』 AT指令通過UDP協議直接發送十六進制數
這個。。。為了避免在信息里不能出現保留字,所以它只能通過字元發送,比如有個0x0d 0x0a那就完了,自己寫個轉換函數么
void UncharToHex(char *data,unsigned char sourcedata)
{
unsigned char a = sourcedata >> 4;
data[0] = a > 9? 'A'+ a -10:'0' + a;
a = sourcedata & 0x0f;
data[1] = a > 9? 'A'+ a -10:'0' + a;
}
data是出口參數,當指針傳遞用- -!
『捌』 我用udp發送一個16進制包,接收端怎麼解析。
數據傳輸都是以位元組流方式
發送端包裝成 byte[]數組,發送就可以了
和什麼進制數據沒有關系,進制只是數據寫的方式。
不同的進制寫法只是程序員看的,在內存里都是一樣的
『玖』 Labview使用UDP發送16進制數據時怎麼轉換高低位
數值->數據操作->邏輯移位
『拾』 怎麼實現udp傳輸一個文件
用fopen函數來建文件,用fwrite來往文件中寫數據,用fclose來關閉文件……這跟是否用UDP沒有任何關系。
UDP發送數據不保證正確性,所以接收方需要驗證收到的數據並且向發送方確認,才能保證正確傳輸。