Sending files and text TCP

SteboCSC

Member
Joined
Aug 11, 2009
Messages
10
Programming Experience
Beginner
I'm new to VB .net and still learning..... I have a tcp client and server that I'm trying to send a file from and get the file and filename from the host. It will send the file and everything but it's not correct because it's getting the ascii network stream. Any help would be greatly appreciated! Thanks!

Client:

For Each node In TreeView1.Nodes

For Each node1 In node.Nodes
If node1.Checked = True Then

End If

For Each node2 In node1.Nodes
If node2.Checked = True Then
intcounter = intcounter + 1
Dim filebuffer As Byte()
Dim filestream As Stream
filestream = File.OpenRead(tbFilename.Text)
ReDim filebuffer(filestream.Length)

filestream.Read(filebuffer, 0, filestream.Length)

Dim clientSocket As New TcpClient(node2.Text, 1234)

Dim networkStream As NetworkStream
networkStream = clientSocket.GetStream()
serverStream = clientSocket.GetStream()
Dim outStream As Byte() = System.Text.Encoding.ASCII.GetBytes(textbox1.text + "$")
serverStream.Write(outStream, 0, outStream.Length)

networkStream.Write(filebuffer, 0, filestream.Length)




End If
Next
Next
Next

Server:


handlerSocket = alSockets(alSockets.Count - 1)
Dim networkStream As NetworkStream = New NetworkStream(handlerSocket)

Dim blockSize As Int16 = 1024
Dim thisRead As Int16
Dim dataByte(blockSize) As Byte

SyncLock Me
Dim clientSocket As New TcpClient
Dim bytesFrom(10024) As Byte
Dim dataFromClient As String

networkStream.Read(bytesFrom, 0, CInt(clientSocket.ReceiveBufferSize))
dataFromClient = System.Text.Encoding.ASCII.GetString(bytesFrom)
dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$"))
clientsList(dataFromClient) = clientSocket
msg(dataFromClient + " Joined chat room ")


Dim SaveFileName As String = Nothing
Dim DialogSave As New SaveFileDialog
DialogSave.Filter = "All files (*.*)|*.*"
DialogSave.FileName = dataFromClient
DialogSave.RestoreDirectory = True
DialogSave.Title = "Where do you want to save the file?"
DialogSave.InitialDirectory = "C:/"
If DialogSave.ShowDialog() = DialogResult.OK Then
SaveFileName = DialogSave.FileName
End If

Dim filestream As FileStream
filestream = File.OpenWrite(SaveFileName)

While (True)
thisRead = networkStream.Read(dataByte, _
0, blockSize)
If thisRead = 0 Then Exit While
filestream.Write(dataByte, 0, thisRead)
End While

handlerSocket.Close()
filestream.Close()

End SyncLock
lbConnections.Items.Add("File Written")
handlerSocket = Nothing
 
Back
Top