六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

用.net中的socket完成文件傳輸

[摘要]socket是網絡套接字,使用它我們可以很方便的實現網絡的數據傳輸。在.net中提供了socket類來幫助開發者調用socket的使用,從而避免了調用socket的動態庫來實現socket的麻煩。下面我們就來看一個簡單的例子,從這個簡單的例子來看看.net中的socket類實現socket是多么的...
socket是網絡套接字,使用它我們可以很方便的實現網絡的數據傳輸。在.net中提供了socket類來幫助開

發者調用socket的使用,從而避免了調用socket的動態庫來實現socket的麻煩。下面我們就來看一個簡單的例子,從這個簡單的例子來看看.net中的socket類實現socket是多么的方便。

  編程思路:在這個簡單的例子中我們將通過socket來實現文件的網絡傳輸和接收功能。要實現這兩個功能我們需要通過vs.net建立兩個實例來完成。一個發送端,一個接收端。由于文中已經給出了詳細的注釋這里就不羅嗦了。


  發送端


Public Class Form1
Inherits System.Windows.Forms.Form
Private Sub Button1_Click(ByVal sender As System.Object,
  ByVal e As System.EventArgs) Handles Button1.Click
Dim sendsocket As New Net.Sockets.Socket
  (Net.Sockets.AddressFamily.InterNetwork,
  Net.Sockets.SocketType.Stream, Net.Sockets.ProtocolType.Tcp)
  '實例化socket
Dim ipendpiont As New Net.IPEndPoint
  (Net.IPAddress.Parse("192.168.0.1"), 8888)'建立終結點
'OpenFileDialog1.ShowDialog()
Dim fs As New IO.FileStream("c:\p.doc",
  IO.FileMode.OpenOrCreate, IO.FileAccess.Read)'要傳輸的文件
Dim fssize(fs.Length - 1) As Byte
Dim strread As New IO.BinaryReader(fs)'流處理要傳輸的文件
'fs.Read(fssize, 0, fssize.Length - 1)
strread.Read(fssize, 0, fssize.Length - 1)
sendsocket.Connect(ipendpiont)'連接遠程計算機
sendsocket.Send(fssize)'發送文件
Label1.Text = fs.Length()
fs.Close()
sendsocket.Shutdown(Net.Sockets.SocketShutdown.Send)
  '關閉發送連接
sendsocket.Close()'關閉本機socket
End Sub
End Class

  接收端

Public Class Form1
Inherits System.Windows.Forms.Form
Dim receivesocket As New Net.Sockets.Socket
  (Net.Sockets.AddressFamily.InterNetwork,
  Net.Sockets.SocketType.Stream,
  Net.Sockets.ProtocolType.Tcp)
Private Sub Form1_Load(ByVal sender As System.Object,
    ByVal e As System.EventArgs) Handles MyBase.Load
Dim hostipendpiont As New Net.IPEndPoint
  (Net.IPAddress.Parse("192.168.0.1"), 8888)
receivesocket.Bind(hostipendpiont)
  '建立遠程計算機的的socket
receivesocket.Listen(2)'監聽socket
End Sub

Private Sub Button1_Click(ByVal sender As Object,
  ByVal e As System.EventArgs) Handles Button1.Click
Dim recfs As New IO.FileStream("p.doc",
  IO.FileMode.OpenOrCreate)
  '接收數據并將其保存到一個新的文件中
Dim recbyte(229888) As Byte
Dim hostsocket As Net.Sockets.Socket =
  receivesocket.Accept()
  '同意和發送端計算機建立連接
Dim newfilestr As New IO.BinaryWriter(recfs)'流寫
hostsocket.Receive(recbyte)
'recfs.Write(recbyte, 0, recbyte.Length - 1)
newfilestr.Write(recbyte, 0, recbyte.Length - 1)
recfs.Close()
hostsocket.Shutdown(Net.Sockets.SocketShutdown.Receive)
hostsocket.Close()
End Sub
End Class

  通過上面的簡單語句我們就完成網絡文件的發送和接收,但是這里有一點要注意,此代碼只可以接受文本文件和圖片文件,對于其他文件的發送和接收將導致編碼錯誤,如果你不相信你可以傳輸一個mp3文件,再在播放器中打開接收到的mp3文件,你會聽到只有開頭不到2秒的音樂可以播放。如果想解決這個問題你需要使用,net中的tcp/ip類或udp類來實現,當然調用底層的socket動態庫也可以解決這


主站蜘蛛池模板: 色天天综合色天天天天看大 | 午夜毛片免费看 | 日韩精选视频 | 日本高清免费不卡在线 | 中文字幕免费在线视频 | 色综合久久88色综合天天小说 | 日韩中文字幕在线亚洲一区 | 青青青青青视频免费播放 | 欧洲一级做a爱在线观看 | 四虎永久免费影院 | 青青久在线视频免费观看 | 天天操中文字幕 | 四虎网址换成什么了2021 | 一二三四影视在线观看免费视频 | 四虎影院官网 | 午夜视频观看 | 在线看欧美成人中文字幕视频 | 青草视频污 | 日韩免费不卡 | 日韩国产欧美在线观看 | 一级片aaaa | 天堂网2021天堂手机版丶 | 中文字幕免费视频精品一 | 色网站观看 | 四虎在线视频 | 亚洲精品国产精品乱码不卞 | 四虎影视国产精品亚洲精品hd | 日本视频免费在线 | 四虎永久在线精品国产 | 日韩视频在线免费 | 天天做日日爱 | 日本最新伦中文字幕 | 欧美性操 | 探花系列 | 欧美中文字幕一二三四区 | 一级人做人爰a全过程免费视频 | 香蕉福利久久福利久久香蕉 | 亚洲美女色在线欧洲美女 | 色悠久久久久综合网伊人男男 | 天天操天天操天天射 | 日韩风月片 |