[ MACTEPx @ 21.12.2009. 15:11 ] @
Pravim chat aplikaciju i kao prvi korak treba da se odradi login na server. Kod klijenta sam nekako napisao: Code: Imports System.Net Imports System.Net.Sockets Imports System.Text Imports System.IO Imports System.Threading Public Class frmLogin Private Sub btnSignIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSignIn.Click If txtServer.Text = "" Or txtUName.Text = "" Then MsgBox("Popunite sva polja na formi") Else Dim tcpClient As New TcpClient() tcpClient.Connect(txtServer.Text, 8080) Dim sendBytes As Byte() sendBytes = Encoding.UTF8.GetBytes("LOGIN>" + txtUName.Text) tcpClient.GetStream.Write(sendBytes, 0, sendBytes.Length) End If End Sub End Class ali serverski kod sam poceo na osnovu serverskog koda za file transfer ali ne znam da ga modifikujem kako bi mogao da se korisit za razmenu tekstualnih poruka preko tcp protokola: Code: Imports System.Threading Imports System.Net Imports System.Net.Sockets Imports System.Text Imports System.IO Public Class Form1 Private alSockets As ArrayList Public Sub listenerThread() Dim tcpListener As New TcpListener(8080) Dim handlerSocket As Socket Dim thdstHandler As ThreadStart Dim thdHandler As Thread tcpListener.Start() Do handlerSocket = tcpListener.AcceptSocket() If handlerSocket.Connected Then lbConnections.Items.Add( _ handlerSocket.RemoteEndPoint.ToString() + _ "connected.") SyncLock (Me) alSockets.Add(handlerSocket) End SyncLock thdstHandler = New ThreadStart(AddressOf _ handlerThread) thdHandler = New Thread(thdstHandler) thdHandler.Start() End If Loop End Sub Public Sub handlerThread() Dim handlerSocket As Socket 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 ' Only one process can access the ' same file at any given time Dim fileStream As Stream fileStream = File.OpenWrite("e:\upload.txt") While (True) thisRead = networkStream.Read(dataByte, _ 0, blockSize) fileStream.Write(dataByte, 0, dataByte.Length) If thisRead = 0 Then Exit While End While fileStream.Close() End SyncLock lbConnections.Items.Add("File Written") handlerSocket = Nothing End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim IPHost As IPHostEntry IPHost = Dns.GetHostByName(Dns.GetHostName()) lblStatus.Text = "My IP address is " + _ IPHost.AddressList(0).ToString() alSockets = New ArrayList() Dim thdListener As New Thread(New ThreadStart _ (AddressOf listenerThread)) thdListener.Start() End Sub End Class svaka pomoc je dobrodosla :) |