文件传送的问题,请教各位了!
我照教程编写了一个文件传送程序如下:
Server端:
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.143"), 8888)
receivesocket.Bind(hostipendpiont) '建立远程计算机的socket
receivesocket.Listen(2) '监听socket
End Sub
Private Sub Button1_Click(ByVal sender As System.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)
newfilestr.Write(recbyte, 0, recbyte.Length - 1)
recfs.Close()
hostsocket.Shutdown(Net.Sockets.SocketShutdown.Receive)
hostsocket.Close()
End Sub
End Class
Client 端:
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)
Dim ipendpiont As New Net.IPEndPoint(Net.IPAddress.Parse("192.168.0.143"), 8888)
Dim fs As New IO.FileStream(FilePath, IO.FileMode.OpenOrCreate, IO.FileAccess.Read)
Dim fssize(fs.Length - 1) As Byte
Dim strread As New IO.BinaryReader(fs)
strread.Read(fssize, 0, fssize.Length - 1)
sendsocket.Connect(ipendpiont)
sendsocket.Send(fssize)
Label3.Text = fs.Length()
fs.Close()
sendsocket.Shutdown(Net.Sockets.SocketShutdown.Send)
sendsocket.Close()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
OpenFileDialog1.ShowDialog()
FilePath = OpenFileDialog1.FileName
TextBox1.Text = FilePath
End Sub
发现CLient端可以传送
但是server端看不懂,点接收文件没反映,请教各位如何编写server端的代码,另外
教程说只能传送文本跟图片,如何解决,有没有这方面的资料跟例子代码啊,我是初学者,请教大家了!!