導航:首頁 > 編程語言 > vbnetsocket編程教學

vbnetsocket編程教學

發布時間:2023-01-23 20:53:16

1. 400分求vb.net,求一個socket的編程實例,詳細見問題補充:

至少需要
ImportsSystem
ImportsSystem.Net
ImportsSystem.Net.Sockets
ImportsSystem.Threading
ImportsSystem.Text
還要了解非同步與委託
簡單點的話
subtcplisten()'監聽過程
ConstLPortAsInteger=6850'本地監聽埠
DimIPaddAsIPAddress=Dns.GetHostEntry(Dns.GetHostName()).AddressList(1)』本地IP
'addresslist裡麵包括IPV6和IPV4
DimIPEPAsNewIPEndPoint(IPadd,LPort)'結點
TCPL=NewTcpListener(IPEP)』建立監聽實例
TCPL.Start()'開始監聽
IfTCPL.Pending=TrueThen'如果有連接接入
DimTCPLXAsNewSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp)'建立一個新的SOCKET
TCPLX=TCPL.Accept()』將第一個接入掛起的連接傳給新建SOCKET,因為監聽的SOCKET還要繼續監聽
dimRipepasnewipendpoint=TCPLX.RemoteEndPoint'此時獲得遠程的ip與埠號
listbox.add(ripep.ip)
dimbuffasbyte()
buff=TCPLX.Receive()'listen>accept>recieve這時候可以接受數據了
dimsasstring=Encoding.Default.GetString(buff)'轉換成文本
msg"s"
TCPLX.send(buff)'這個是發送
endif
EndSub
長時間沒寫,可能有點小錯誤,你自己調試調試,大概步驟就是listen>accept>recieve,最好看看msdn,那個學起來才系統

2. 如何在VB.NET中用Socket類實現區域網中的通信問題

Private Sub Form_Load()
With Winsock1
.RemoteHost = "124.135.13.106" '對方的IP
.RemotePort = 1002 ' 對方的埠號
.Bind 1001 ' 本機的埠號
End With
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
Winsock1.GetData strData '接收位元組
List1.AddItem strData
End Sub
這個用UDP進行連接的。只不過是對單個機器進行的。

3. 急!VB.NET 用SOCKET實現數據交換案例

rivate Shared Function ConnectSocket(ByVal server As String, ByVal port As Integer) As Socket'創建連接
Dim s As Socket = Nothing
Dim hostEntry As IPHostEntry = Nothing

Dim address As IPAddress
address = System.Net.IPAddress.Parse(server)
Dim endPoint As New IPEndPoint(address, port)
Dim tempSocket As New Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
tempSocket.Connect(endPoint)

If tempSocket.Connected Then
s = tempSocket
End If

Return s
End Function
調用:s = ConnectSocket(IP地址, 埠)'埠號如8000,8080等
s.close'關閉連接

4. VB.net Socket

麻煩給我發下vb2010下Socket類的使用方法,最好是有代碼。就是怎樣實現同一台電腦上兩個程序的通訊,1窗體有按鈕,文本框,2窗體有文本框,當單機1窗體的按鈕時該窗體文本框的內容在2窗體的文本框中顯示。。。十萬火急啊。 郵箱523484850@qq.com

5. 關於vb.net中Socket的問題

我不給你代碼了,我才編了SOCKET的,告訴你原理吧(我的編程經驗而已)
SOCKET傳輸文件和接受是有大小限制的,默認是81**來則也就是8K多,你可以改小,但改大我沒試過,然後你必須把文件分成若干份,然後傳過去,然後在接收端組合起來,同時接收端的接受大小要和發送大小統一。
至於你說的文件名,文件名不屬於文件數據中的一部分,它不參與數據傳輸的,你只能在接收端重新改名字。
同時為什麼要用上面的方法傳呢,因為VB.NET中的SOCKET有很多問題,我就為此煩過,因為要丟包(理論上TCP不存在),或者粘包,或者斷包,也就是你在接收端獲取文件時數據是要出錯的,比如你定長3000B,結果接收端可能先收到2000B,當接受端接受後,處理會出錯的。
所以SOCKET的標准發送方法是建立定長的結構體(結構體必須定義為可序列化結構體),最好結構體裡面至少包含有 1,文件名,2,本包序號,3,本包數據,比如每個包大小3040B,文件名佔20,序號佔20,數據佔3000,然後發送出去,接收端每次固定接受3040B,如果接受到的包沒有這么大(比如收到2000),那麼繼續接受(1040),直到達到3040後組合成一個包,在把包分解成結構體,相同的文件名為一個文件,再按照序號按次組合其中的數據,這就完成了傳輸。這樣的方法還可以同時傳送多個文件,因為結構體裡麵包含了文件名和序列號,不會錯亂,如果是大文件,請不要接收完畢後(最後一個包的序號可以為-1,或者包里包含總長度,檢查到序號為-1時表示完畢,或者達到總長度後表示完畢)再組合,因為這樣會浪費電腦內存,最好的方法是一邊接受數據,一邊寫入到文件中(收到第一個包時就建立文件,以後每個包的數據都往裡面寫)。
回答你的問題:
1、經過上面的傳輸後,文件是不變化的,MD5檢查都是正常的,不用擔心文件大小有變化(如果有變化,那就是代碼沒編對)
2,、文件名問題,我前面提到了,文件名是不參與傳輸的,它不屬於數據中的一部分,比如同一個文件,不管你怎麼改名字MD5是不變的。你只能通過把文件名想辦法傳給對方(比如我上面說的結構體方法),讓對方寫入文件時使用。
3,代碼:
還是給你找找吧,等等
不行,我的都很大,很長,你還是在網上找吧,有很多例子,我也是網上學的。

6. 怎樣用VB.NET進行網路編程

都可以,可以用winsock,也可以自己重寫SOCKET套接字.建議你如果工期緊,可以先用WINSOCK.當然最好是自己學用SOCKET套接字.這對未來開發網路通訊是很有幫助的.因為用WINSOCK有個毛病就是殺毒軟體總會阻止

7. 關於vb.net中socket編程實例:伺服器端的一些問題

Socket類連接後 可以通過類中的 RemoteEndPoint 來獲取遠程IP和埠信息.
要注意的是.需要將它強制轉化為 IPEndPoint類型 然後通過 IPEndPoint.Address以及IPEndPoint.Port來獲取對應的IP及埠

例:
Dim REV_SCK As New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
'這里創建一個UDP Socket連接的實例 TCP也是一樣的

'省略SOCKET連接的代碼 當SOCKET連接成功後 可以用下面的語句獲取遠程信息
Dim IP as string ,Port as integer
'定義IP和Port變數 用來保存地址及埠
IP = IPAddress.Parse(CType(REV_SCK.RemoteEndPoint, IPEndPoint).Address.ToString())
Port = IPAddress.Parse(CType(REV_SCK.RemoteEndPoint, IPEndPoint).Port)

8. 怎樣利用VB.NET的SOCKET在伺服器和客戶端之間傳遞有固定格式的命令和數據

找專家問問

9. VB.net中創建的socket類怎麼連接詳情見問題補充,大家幫幫忙,我只有這么多分了

1.綁定的IP是伺服器的IP地址,伺服器是固定的,客戶端連接的是一個已知的伺服器端。

2.客戶端的話,連接到伺服器時,伺服器accept後,就可以獲得客戶端的連接信息,包括IP地址和埠。

我是學C的,在C語言中,socket->bind->listen->accept->....,在accept函數中有選項,如下caddr結構體中就存有accept後客戶端的IP地址 連接埠和傳輸方式等信息,clientsock[1]則為accept新的描述符,如你程序中soc2一樣 。
clientsock[1] = accept(sfd,(struct sockaddr*)&caddr,&len);
VB中應該也有類時的函數,你網上好好找一下,或者看看相關書籍.

10. 如何實現vb.net的socket雙向通訊,客戶端既要發送消息也要接收伺服器端返回的結果

接收到客戶端數據,處理完畢........
//返回信息給客戶端
string sendStr = "ok!Client send message successful!";
byte[] bs = Encoding.ASCII.GetBytes(sendStr);
client.Send(bs, bs.Length, 0);

//關閉套接字
client.Close();

.............客戶端發送完數據等待服務端返回處理結果.............
/**/
///接受從伺服器返回的信息
string recvStr = "";
byte[] recvBytes = new byte[1024];
int bytes;
bytes = client.Receive(recvBytes, recvBytes.Length, 0);//從伺服器端接受返回信息
recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);
label15.Text = DateTime.Now.ToString() + ":" + recvStr;//顯示伺服器返回信息
///一定記著用完socket後要關閉
//關閉套接字
client.Close();

閱讀全文

與vbnetsocket編程教學相關的資料

熱點內容
什麼APP有背單詞小組 瀏覽:43
蘋果2g視頻怎麼加密 瀏覽:204
人工智慧程序員和古典錄音師相遇 瀏覽:415
國產伺服器是怎麼來的 瀏覽:116
蓄勢待發源碼 瀏覽:458
伺服器如何清理log文件 瀏覽:835
javaawtfont 瀏覽:627
php企業站後台 瀏覽:417
日企程序員招聘 瀏覽:113
伺服器中毒網頁投放廣告怎麼辦 瀏覽:709
安卓快閃記憶體掉速是什麼原因 瀏覽:409
fcfs調度演算法代碼 瀏覽:686
應用加密安全提示問題如何重設 瀏覽:54
樹莓派python安裝庫 瀏覽:320
抖音生活圈小程序源碼 瀏覽:620
建行預約解壓需要多久時間 瀏覽:568
命令式介面 瀏覽:399
電腦伺服器域名地址怎麼查 瀏覽:340
什麼行業要用編程 瀏覽:297
三洋立風櫃壓縮機 瀏覽:296