ok so Im still a complete noob to vb and trying to build this great aplication any ways heres the problem i have i have put toghter a basic chat aplication using sockets now the problem is when i tell it to send the font to the server and then back to the client it goes to the server in a text format like so ..
[Font: Name=Microsoft Sans Serif, Size=8.25, Units=3, GdiCharSet=0, GdiVerticalFont=False]
Now I am assuming that my problem is that the font and Text are being sent in the same data packet but i dont know how to change this please advise here is my source for server and client...
Client
Server
ok so theres the current code with the problem of it printing the font in the text recive box still in there Now if some one could tell me how to make it chang the font in the box txtDisplay bassed on what the client sends to the server i would greatley appreciate it. This is my first time working wit clients so anything will be helpfull but if some one could find it in there heart to explain to me how to change it and why im doing each step that would be great and would help give me a much better understanding of using sockets to transfer data....
[Font: Name=Microsoft Sans Serif, Size=8.25, Units=3, GdiCharSet=0, GdiVerticalFont=False]
Now I am assuming that my problem is that the font and Text are being sent in the same data packet but i dont know how to change this please advise here is my source for server and client...
Client
VB.NET:
[size=2][color=#0000ff]
Imports[/color][/size][size=2] Microsoft.VisualBasic
[/size][size=2][color=#0000ff]Imports[/color][/size][size=2] System
[/size][size=2][color=#0000ff]Imports[/color][/size][size=2] System.Drawing
[/size][size=2][color=#0000ff]Imports[/color][/size][size=2] System.Collections
[/size][size=2][color=#0000ff]Imports[/color][/size][size=2] System.ComponentModel
[/size][size=2][color=#0000ff]Imports[/color][/size][size=2] System.Windows.Forms
[/size][size=2][color=#0000ff]Imports[/color][/size][size=2] System.Data
[/size][size=2][color=#0000ff]Imports[/color][/size][size=2] System.Net.Sockets
[/size][size=2][color=#0000ff]Imports[/color][/size][size=2] System.IO
[/size][size=2][color=#0000ff]Imports[/color][/size][size=2] System.Threading
[/size][size=2][color=#0000ff]Imports[/color][/size][size=2] System.Text
[/size][size=2][color=#0000ff]Namespace[/color][/size][size=2] ChatClient
[/size][size=2][color=#008000]''' <summary>
[/color][/size][size=2][/size][size=2][color=#008000]''' Summary description for Form1.
[/color][/size][size=2][/size][size=2][color=#008000]''' </summary>
[/color][/size][size=2][/size][size=2][color=#0000ff]Public[/color][/size][size=2] [/size][size=2][color=#0000ff]Class[/color][/size][size=2] ChatClientForm : [/size][size=2][color=#0000ff]Inherits[/color][/size][size=2] System.Windows.Forms.Form
[/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]WithEvents[/color][/size][size=2] ChatOut [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Windows.Forms.TextBox
[/size][size=2][color=#0000ff]Private[/color][/size][size=2] statusBar1 [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Windows.Forms.StatusBar
[/size][size=2][color=#008000]''' <summary>
[/color][/size][size=2][/size][size=2][color=#008000]''' Required designer variable.
[/color][/size][size=2][/size][size=2][color=#008000]''' </summary>
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] components [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.ComponentModel.Container = [/size][size=2][color=#0000ff]Nothing
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]WithEvents[/color][/size][size=2] btnConnect [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Windows.Forms.Button
[/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]WithEvents[/color][/size][size=2] btnSend [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Windows.Forms.Button
[/size][size=2][color=#0000ff]Private[/color][/size][size=2] serverport [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Integer
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] ns [/size][size=2][color=#0000ff]As[/color][/size][size=2] NetworkStream
[/size][size=2][color=#0000ff]Private[/color][/size][size=2] sr [/size][size=2][color=#0000ff]As[/color][/size][size=2] StreamReader
[/size][size=2][color=#0000ff]Private[/color][/size][size=2] clientsocket [/size][size=2][color=#0000ff]As[/color][/size][size=2] TcpClient
[/size][size=2][color=#0000ff]Private[/color][/size][size=2] receive [/size][size=2][color=#0000ff]As[/color][/size][size=2] Thread = [/size][size=2][color=#0000ff]Nothing
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] serveraddress [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] lbChatters [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Windows.Forms.ListBox
[/size][size=2][color=#0000ff]Private[/color][/size][size=2] rtbChatIn [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Windows.Forms.RichTextBox
[/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]WithEvents[/color][/size][size=2] btnDisconnect [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Windows.Forms.Button
[/size][size=2][color=#0000ff]Private[/color][/size][size=2] clientname [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String
[/color][/size][size=2][/size][size=2][color=#008000]'private string destclient;
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] connected [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Boolean[/color][/size][size=2] = [/size][size=2][color=#0000ff]False
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] logging [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Boolean[/color][/size][size=2] = [/size][size=2][color=#0000ff]False
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] privatemode [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Boolean[/color][/size][size=2] = [/size][size=2][color=#0000ff]False
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]WithEvents[/color][/size][size=2] btnLog [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Windows.Forms.Button
[/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]WithEvents[/color][/size][size=2] cbPrivate [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Windows.Forms.CheckBox
[/size][size=2][color=#0000ff]Private[/color][/size][size=2] logwriter [/size][size=2][color=#0000ff]As[/color][/size][size=2] StreamWriter
[/size][size=2][color=#008000]''' <summary>
[/color][/size][size=2][/size][size=2][color=#008000]''' Clean up any resources being used.
[/color][/size][size=2][/size][size=2][color=#008000]''' </summary>
[/color][/size][size=2][/size][size=2][color=#0000ff]Protected[/color][/size][size=2] [/size][size=2][color=#0000ff]Overloads[/color][/size][size=2] [/size][size=2][color=#0000ff]Overrides[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] Dispose([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] disposing [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Boolean[/color][/size][size=2])
[/size][size=2][color=#0000ff]If[/color][/size][size=2] disposing [/size][size=2][color=#0000ff]Then
[/color][/size][size=2][/size][size=2][color=#0000ff]If[/color][/size][size=2] [/size][size=2][color=#0000ff]Not[/color][/size][size=2] components [/size][size=2][color=#0000ff]Is[/color][/size][size=2] [/size][size=2][color=#0000ff]Nothing[/color][/size][size=2] [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]components.Dispose()
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]MyBase[/color][/size][size=2].Dispose(disposing)
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2]#[/size][size=2][color=#0000ff]Region[/color][/size][size=2] "Windows Form Designer generated code"
[/size][size=2][color=#008000]''' <summary>
[/color][/size][size=2][/size][size=2][color=#008000]''' Required method for Designer support - do not modify
[/color][/size][size=2][/size][size=2][color=#008000]''' the contents of this method with the code editor.
[/color][/size][size=2][/size][size=2][color=#008000]''' </summary>
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] InitializeComponent()
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].cbPrivate = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Windows.Forms.CheckBox
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnLog = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Windows.Forms.Button
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnSend = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Windows.Forms.Button
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].lbChatters = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Windows.Forms.ListBox
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].ChatOut = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Windows.Forms.TextBox
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnConnect = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Windows.Forms.Button
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].rtbChatIn = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Windows.Forms.RichTextBox
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].statusBar1 = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Windows.Forms.StatusBar
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnDisconnect = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Windows.Forms.Button
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].SuspendLayout()
[/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#008000]'cbPrivate
[/color][/size][size=2][/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].cbPrivate.Font = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, [/size][size=2][color=#0000ff]CType[/color][/size][size=2](0, [/size][size=2][color=#0000ff]Byte[/color][/size][size=2]))
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].cbPrivate.Location = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Point(384, 112)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].cbPrivate.Name = "cbPrivate"
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].cbPrivate.Size = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(64, 24)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].cbPrivate.TabIndex = 10
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].cbPrivate.Text = "Private"
[/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#008000]'btnLog
[/color][/size][size=2][/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnLog.Location = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Point(376, 80)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnLog.Name = "btnLog"
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnLog.Size = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(80, 24)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnLog.TabIndex = 9
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnLog.Text = "Start Logging"
[/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#008000]'btnSend
[/color][/size][size=2][/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnSend.Location = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Point(264, 232)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnSend.Name = "btnSend"
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnSend.Size = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(64, 24)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnSend.TabIndex = 5
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnSend.Text = "Send"
[/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#008000]'lbChatters
[/color][/size][size=2][/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].lbChatters.Location = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Point(272, 16)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].lbChatters.Name = "lbChatters"
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].lbChatters.SelectionMode = System.Windows.Forms.SelectionMode.None
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].lbChatters.Size = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(88, 212)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].lbChatters.TabIndex = 7
[/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#008000]'ChatOut
[/color][/size][size=2][/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].ChatOut.Font = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, [/size][size=2][color=#0000ff]CType[/color][/size][size=2](0, [/size][size=2][color=#0000ff]Byte[/color][/size][size=2]))
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].ChatOut.Location = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Point(8, 232)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].ChatOut.Name = "ChatOut"
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].ChatOut.Size = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(240, 23)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].ChatOut.TabIndex = 2
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].ChatOut.Text = ""
[/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#008000]'btnConnect
[/color][/size][size=2][/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnConnect.Location = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Point(376, 16)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnConnect.Name = "btnConnect"
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnConnect.Size = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(80, 24)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnConnect.TabIndex = 4
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnConnect.Text = "Connect"
[/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#008000]'rtbChatIn
[/color][/size][size=2][/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].rtbChatIn.Font = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, [/size][size=2][color=#0000ff]CType[/color][/size][size=2](0, [/size][size=2][color=#0000ff]Byte[/color][/size][size=2]))
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].rtbChatIn.Location = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Point(8, 16)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].rtbChatIn.Name = "rtbChatIn"
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].rtbChatIn.ReadOnly = [/size][size=2][color=#0000ff]True
[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].rtbChatIn.Size = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(240, 212)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].rtbChatIn.TabIndex = 6
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].rtbChatIn.Text = ""
[/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#008000]'statusBar1
[/color][/size][size=2][/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].statusBar1.Location = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Point(0, 275)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].statusBar1.Name = "statusBar1"
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].statusBar1.Size = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(478, 16)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].statusBar1.SizingGrip = [/size][size=2][color=#0000ff]False
[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].statusBar1.TabIndex = 3
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].statusBar1.Text = "Disconnected"
[/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#008000]'btnDisconnect
[/color][/size][size=2][/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnDisconnect.Location = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Point(376, 48)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnDisconnect.Name = "btnDisconnect"
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnDisconnect.Size = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(80, 24)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnDisconnect.TabIndex = 8
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnDisconnect.Text = "Disconnect"
[/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#008000]'ChatClientForm
[/color][/size][size=2][/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].AutoScaleBaseSize = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(5, 13)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].ClientSize = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(478, 291)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Controls.Add([/size][size=2][color=#0000ff]Me[/color][/size][size=2].cbPrivate)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Controls.Add([/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnLog)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Controls.Add([/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnDisconnect)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Controls.Add([/size][size=2][color=#0000ff]Me[/color][/size][size=2].lbChatters)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Controls.Add([/size][size=2][color=#0000ff]Me[/color][/size][size=2].rtbChatIn)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Controls.Add([/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnSend)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Controls.Add([/size][size=2][color=#0000ff]Me[/color][/size][size=2].btnConnect)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Controls.Add([/size][size=2][color=#0000ff]Me[/color][/size][size=2].statusBar1)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Controls.Add([/size][size=2][color=#0000ff]Me[/color][/size][size=2].ChatOut)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Name = "ChatClientForm"
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Text = "ChatClient"
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].ResumeLayout([/size][size=2][color=#0000ff]False[/color][/size][size=2])
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2]#[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Region
[/color][/size][size=2][/size][size=2][color=#0000ff]Protected[/color][/size][size=2] [/size][size=2][color=#0000ff]Overrides[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] OnClosed([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] EventArgs)
QuitChat()
[/size][size=2][color=#0000ff]If[/color][/size][size=2] [/size][size=2][color=#0000ff]Not[/color][/size][size=2] receive [/size][size=2][color=#0000ff]Is[/color][/size][size=2] [/size][size=2][color=#0000ff]Nothing[/color][/size][size=2] [/size][size=2][color=#0000ff]AndAlso[/color][/size][size=2] receive.IsAlive [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]receive.Abort()
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]MyBase[/color][/size][size=2].OnClosed(e)
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Sub[/color][/size][size=2] Main([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Object, [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.EventArgs) [/size][size=2][color=#0000ff]Handles[/color][/size][size=2] [/size][size=2][color=#0000ff]MyBase[/color][/size][size=2].Load
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] EstablishConnection()
statusBar1.Text = "Connecting to Server"
[/size][size=2][color=#0000ff]Try
[/color][/size][size=2]clientsocket = [/size][size=2][color=#0000ff]New[/color][/size][size=2] TcpClient(serveraddress, serverport)
ns = clientsocket.GetStream()
sr = [/size][size=2][color=#0000ff]New[/color][/size][size=2] StreamReader(ns)
connected = [/size][size=2][color=#0000ff]True
[/color][/size][size=2][/size][size=2][color=#0000ff]Catch[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] Exception
MessageBox.Show("Could not connect to Server", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
statusBar1.Text = "Disconnected"
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Try
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] RegisterWithServer()
[/size][size=2][color=#0000ff]Try
[/color][/size][size=2][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] command [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2] = "CONN|" & ChatOut.Text
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] outbytes [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Byte[/color][/size][size=2]() = System.Text.Encoding.ASCII.GetBytes(command.ToCharArray())
ns.Write(outbytes, 0, outbytes.Length)
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] serverresponse [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2] = sr.ReadLine()
serverresponse.Trim()
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] tokens [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2]() = serverresponse.Split([/size][size=2][color=#0000ff]New[/color][/size][size=2] [/size][size=2][color=#0000ff]Char[/color][/size][size=2]() {"|"c})
[/size][size=2][color=#0000ff]If[/color][/size][size=2] tokens(0) = "LIST" [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]statusBar1.Text = "Connected"
btnDisconnect.Enabled = [/size][size=2][color=#0000ff]True
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] n [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Integer[/color][/size][size=2] = 1
[/size][size=2][color=#008000]'ORIGINAL LINE: for(int n=1; n<tokens.Length-1; n += 1)
[/color][/size][size=2][/size][size=2][color=#008000]'INSTANT VB NOTE: This 'for' loop was translated to a VB 'Do While' loop:
[/color][/size][size=2][/size][size=2][color=#0000ff]Do[/color][/size][size=2] [/size][size=2][color=#0000ff]While[/color][/size][size=2] n < tokens.Length - 1
lbChatters.Items.Add(tokens(n).Trim([/size][size=2][color=#0000ff]New[/color][/size][size=2] [/size][size=2][color=#0000ff]Char[/color][/size][size=2]() {ControlChars.Cr, ControlChars.Lf}))
n += 1
[/size][size=2][color=#0000ff]Loop
[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].Text = clientname & ": Connected to Chat Server"
[/size][size=2][color=#0000ff]Catch[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] Exception
MessageBox.Show("Error Registering", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Try
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] ReceiveChat()
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] keepalive [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Boolean[/color][/size][size=2] = [/size][size=2][color=#0000ff]True
[/color][/size][size=2][/size][size=2][color=#0000ff]Do[/color][/size][size=2] [/size][size=2][color=#0000ff]While[/color][/size][size=2] keepalive
[/size][size=2][color=#0000ff]Try
[/color][/size][size=2][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] buffer [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Byte[/color][/size][size=2]() = [/size][size=2][color=#0000ff]New[/color][/size][size=2] [/size][size=2][color=#0000ff]Byte[/color][/size][size=2](2047) {}
ns.Read(buffer, 0, buffer.Length)
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] chatter [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2] = System.Text.Encoding.ASCII.GetString(buffer)
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] tokens [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2]() = chatter.Split([/size][size=2][color=#0000ff]New[/color][/size][size=2] [/size][size=2][color=#0000ff]Char[/color][/size][size=2]() {"|"c})
[/size][size=2][color=#0000ff]If[/color][/size][size=2] tokens(0) = "CHAT" [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]rtbChatIn.AppendText(tokens(1))
[/size][size=2][color=#0000ff]If[/color][/size][size=2] logging [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]logwriter.WriteLine(tokens(1))
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]If[/color][/size][size=2] tokens(0) = "PRIV" [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]rtbChatIn.AppendText("Private from ")
rtbChatIn.AppendText(tokens(1).Trim())
rtbChatIn.AppendText(tokens(2) & Constants.vbCrLf)
[/size][size=2][color=#0000ff]If[/color][/size][size=2] logging [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]logwriter.Write("Private from ")
logwriter.Write(tokens(1).Trim())
logwriter.WriteLine(tokens(2) & Constants.vbCrLf)
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]If[/color][/size][size=2] tokens(0) = "JOIN" [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]rtbChatIn.AppendText(tokens(1).Trim())
rtbChatIn.AppendText(" has joined the Chat" & Constants.vbCrLf)
[/size][size=2][color=#0000ff]If[/color][/size][size=2] logging [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]logwriter.WriteLine(tokens(1) & " has joined the Chat")
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] newguy [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2] = tokens(1).Trim([/size][size=2][color=#0000ff]New[/color][/size][size=2] [/size][size=2][color=#0000ff]Char[/color][/size][size=2]() {ControlChars.Cr, ControlChars.Lf})
lbChatters.Items.Add(newguy)
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]If[/color][/size][size=2] tokens(0) = "GONE" [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]rtbChatIn.AppendText(tokens(1).Trim())
rtbChatIn.AppendText(" has left the Chat" & Constants.vbCrLf)
[/size][size=2][color=#0000ff]If[/color][/size][size=2] logging [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]logwriter.WriteLine(tokens(1) & " has left the Chat")
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2]lbChatters.Items.Remove(tokens(1).Trim([/size][size=2][color=#0000ff]New[/color][/size][size=2] [/size][size=2][color=#0000ff]Char[/color][/size][size=2]() {ControlChars.Cr, ControlChars.Lf}))
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]If[/color][/size][size=2] tokens(0) = "QUIT" [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]ns.Close()
clientsocket.Close()
keepalive = [/size][size=2][color=#0000ff]False
[/color][/size][size=2]statusBar1.Text = "Server has stopped"
connected = [/size][size=2][color=#0000ff]False
[/color][/size][size=2]btnSend.Enabled = [/size][size=2][color=#0000ff]False
[/color][/size][size=2]btnDisconnect.Enabled = [/size][size=2][color=#0000ff]False
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]Catch[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] Exception
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Try
[/color][/size][size=2][/size][size=2][color=#0000ff]Loop
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] QuitChat()
[/size][size=2][color=#0000ff]If[/color][/size][size=2] connected [/size][size=2][color=#0000ff]Then
[/color][/size][size=2][/size][size=2][color=#0000ff]Try
[/color][/size][size=2][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] command [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2] = "GONE|" & clientname
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] outbytes [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Byte[/color][/size][size=2]() = System.Text.Encoding.ASCII.GetBytes(command.ToCharArray())
ns.Write(outbytes, 0, outbytes.Length)
clientsocket.Close()
[/size][size=2][color=#0000ff]Catch[/color][/size][size=2] ex [/size][size=2][color=#0000ff]As[/color][/size][size=2] Exception
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Try
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]If[/color][/size][size=2] logging [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]logwriter.Close()
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]If[/color][/size][size=2] [/size][size=2][color=#0000ff]Not[/color][/size][size=2] receive [/size][size=2][color=#0000ff]Is[/color][/size][size=2] [/size][size=2][color=#0000ff]Nothing[/color][/size][size=2] [/size][size=2][color=#0000ff]AndAlso[/color][/size][size=2] receive.IsAlive [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]receive.Abort()
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].Text = "ChatClient"
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] StartStopLogging()
[/size][size=2][color=#0000ff]If[/color][/size][size=2] ([/size][size=2][color=#0000ff]Not[/color][/size][size=2] logging) [/size][size=2][color=#0000ff]Then
[/color][/size][size=2][/size][size=2][color=#0000ff]If[/color][/size][size=2] ([/size][size=2][color=#0000ff]Not[/color][/size][size=2] Directory.Exists("logs")) [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]Directory.CreateDirectory("logs")
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] fname [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2] = "logs\" & DateTime.Now.ToString("ddMMyyHHmm") & ".txt"
logwriter = [/size][size=2][color=#0000ff]New[/color][/size][size=2] StreamWriter([/size][size=2][color=#0000ff]New[/color][/size][size=2] FileStream(fname, FileMode.OpenOrCreate, FileAccess.Write))
logging = [/size][size=2][color=#0000ff]True
[/color][/size][size=2]btnLog.Text = "Stop Logging"
statusBar1.Text = "Connected - Log on"
[/size][size=2][color=#0000ff]Else
[/color][/size][size=2]logwriter.Close()
logging = [/size][size=2][color=#0000ff]False
[/color][/size][size=2]btnLog.Text = "Start Logging"
statusBar1.Text = "Connected - Log off"
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#008000]''' <summary>
[/color][/size][size=2][/size][size=2][color=#008000]''' The main entry point for the application.
[/color][/size][size=2][/size][size=2][color=#008000]''' </summary>
[/color][/size][size=2]<STAThread()> _
[/size][size=2][color=#0000ff]Shared[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] Main([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] args [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2]())
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] cf [/size][size=2][color=#0000ff]As[/color][/size][size=2] ChatClientForm = [/size][size=2][color=#0000ff]New[/color][/size][size=2] ChatClientForm
[/size][size=2][color=#0000ff]If[/color][/size][size=2] args.Length = 0 [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]cf.serveraddress = "69.44.152.91"
[/size][size=2][color=#0000ff]Else
[/color][/size][size=2]cf.serveraddress = args(0)
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2]Application.Run(cf)
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] btnConnect_Click([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Object[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.EventArgs) [/size][size=2][color=#0000ff]Handles[/color][/size][size=2] btnConnect.Click
[/size][size=2][color=#0000ff]If[/color][/size][size=2] ChatOut.Text = "" [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]MessageBox.Show("Enter a name in the box before connecting", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
[/size][size=2][color=#0000ff]Return
[/color][/size][size=2][/size][size=2][color=#0000ff]Else
[/color][/size][size=2]clientname = ChatOut.Text
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2]EstablishConnection()
[/size][size=2][color=#0000ff]If[/color][/size][size=2] connected [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]RegisterWithServer()
receive = [/size][size=2][color=#0000ff]New[/color][/size][size=2] Thread([/size][size=2][color=#0000ff]AddressOf[/color][/size][size=2] ReceiveChat)
receive.Start()
btnSend.Enabled = [/size][size=2][color=#0000ff]True
[/color][/size][size=2]btnConnect.Enabled = [/size][size=2][color=#0000ff]False
[/color][/size][size=2]ChatOut.Text = ""
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] ChatClientForm_Load()
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] btnSend_Click([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Object[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.EventArgs)
[/size][size=2][color=#0000ff]Try
[/color][/size][size=2][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] dclient [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2] = ""
[/size][size=2][color=#0000ff]If[/color][/size][size=2] ([/size][size=2][color=#0000ff]Not[/color][/size][size=2] privatemode) [/size][size=2][color=#0000ff]Then
[/color][/size][size=2][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] pubcommand [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2] = "CHAT|" & clientname & ": " & ChatOut.Text & Constants.vbCrLf
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] outbytes [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Byte[/color][/size][size=2]() = System.Text.Encoding.ASCII.GetBytes(pubcommand.ToCharArray())
ns.Write(outbytes, 0, outbytes.Length)
ChatOut.Text = ""
[/size][size=2][color=#0000ff]Else
[/color][/size][size=2][/size][size=2][color=#0000ff]If[/color][/size][size=2] lbChatters.SelectedIndex = -1 [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]MessageBox.Show("Select a chatter name from the list", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
[/size][size=2][color=#0000ff]Return
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] destclient [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2] = lbChatters.SelectedItem.ToString()
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] command [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2] = "PRIV|" & clientname & "|: " & ChatOut.Text & "|" & destclient
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] outbytes [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Byte[/color][/size][size=2]() = System.Text.Encoding.ASCII.GetBytes(command.ToCharArray())
ns.Write(outbytes, 0, outbytes.Length)
ChatOut.Text = ""
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]Catch[/color][/size][size=2] ex [/size][size=2][color=#0000ff]As[/color][/size][size=2] Exception
MessageBox.Show("Connection with Server lost", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
ns.Close()
clientsocket.Close()
[/size][size=2][color=#0000ff]If[/color][/size][size=2] [/size][size=2][color=#0000ff]Not[/color][/size][size=2] receive [/size][size=2][color=#0000ff]Is[/color][/size][size=2] [/size][size=2][color=#0000ff]Nothing[/color][/size][size=2] [/size][size=2][color=#0000ff]AndAlso[/color][/size][size=2] receive.IsAlive [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]receive.Abort()
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2]connected = [/size][size=2][color=#0000ff]False
[/color][/size][size=2]statusBar1.Text = "Disconnected"
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Try
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] btnDisconnect_Click([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Object[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.EventArgs)
QuitChat()
btnDisconnect.Enabled = [/size][size=2][color=#0000ff]False
[/color][/size][size=2]btnConnect.Enabled = [/size][size=2][color=#0000ff]True
[/color][/size][size=2]btnSend.Enabled = [/size][size=2][color=#0000ff]False
[/color][/size][size=2]ns.Close()
clientsocket.Close()
receive.Abort()
connected = [/size][size=2][color=#0000ff]False
[/color][/size][size=2]lbChatters.Items.Clear()
statusBar1.Text = "Disconnected"
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] ChatOut_KeyPress([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Object[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Windows.Forms.KeyPressEventArgs)
[/size][size=2][color=#0000ff]If[/color][/size][size=2] e.KeyChar = ControlChars.Cr [/size][size=2][color=#0000ff]Then
[/color][/size][size=2][/size][size=2][color=#0000ff]If[/color][/size][size=2] connected [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]btnSend_Click(sender, e)
[/size][size=2][color=#0000ff]Else
[/color][/size][size=2]btnConnect_Click(sender, e)
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] btnLog_Click([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Object[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.EventArgs)
StartStopLogging()
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] cbPrivate_CheckedChanged([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Object[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.EventArgs)
[/size][size=2][color=#0000ff]If[/color][/size][size=2] cbPrivate.Checked [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]privatemode = [/size][size=2][color=#0000ff]True
[/color][/size][size=2]lbChatters.SelectionMode = System.Windows.Forms.SelectionMode.One
[/size][size=2][color=#0000ff]Else
[/color][/size][size=2]privatemode = [/size][size=2][color=#0000ff]False
[/color][/size][size=2]lbChatters.SelectionMode = System.Windows.Forms.SelectionMode.None
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] ChatClientForm_Load([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Object[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.EventArgs)
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Class
End[/color][/size][size=2] [/size][size=2][color=#0000ff]Namespace
[/color][/size]
Server
VB.NET:
[size=2][color=#0000ff]Imports[/color][/size][size=2] System.Threading
[/size][size=2][color=#0000ff]Imports[/color][/size][size=2] System.Net
[/size][size=2][color=#0000ff]Imports[/color][/size][size=2] System.Net.Sockets
[/size][size=2][color=#0000ff]Public[/color][/size][size=2] [/size][size=2][color=#0000ff]Delegate[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] StatusInvoker([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] t [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2])
[/size][size=2][color=#0000ff]Public[/color][/size][size=2] [/size][size=2][color=#0000ff]Class[/color][/size][size=2] Form1
[/size][size=2][color=#0000ff]Inherits[/color][/size][size=2] System.Windows.Forms.Form
[/size][size=2][color=#0000ff]Private[/color][/size][size=2] mobjThread [/size][size=2][color=#0000ff]As[/color][/size][size=2] Thread
[/size][size=2][color=#0000ff]Private[/color][/size][size=2] mobjListener [/size][size=2][color=#0000ff]As[/color][/size][size=2] TcpListener
[/size][size=2][color=#0000ff]Private[/color][/size][size=2] mcolClients [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]New[/color][/size][size=2] Hashtable()
#[/size][size=2][color=#0000ff]Region[/color][/size][size=2] " Windows Form Designer generated code "
[/size][size=2][color=#0000ff]Public[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] [/size][size=2][color=#0000ff]New[/color][/size][size=2]()
[/size][size=2][color=#0000ff]MyBase[/color][/size][size=2].New()
[/size][size=2][color=#008000]'This call is required by the Windows Form Designer.
[/color][/size][size=2]InitializeComponent()
[/size][size=2][color=#008000]'Add any initialization after the InitializeComponent() call
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#008000]'Form overrides dispose to clean up the component list.
[/color][/size][size=2][/size][size=2][color=#0000ff]Protected[/color][/size][size=2] [/size][size=2][color=#0000ff]Overloads[/color][/size][size=2] [/size][size=2][color=#0000ff]Overrides[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] Dispose([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] disposing [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Boolean[/color][/size][size=2])
[/size][size=2][color=#0000ff]If[/color][/size][size=2] disposing [/size][size=2][color=#0000ff]Then
[/color][/size][size=2][/size][size=2][color=#0000ff]If[/color][/size][size=2] [/size][size=2][color=#0000ff]Not[/color][/size][size=2] (components [/size][size=2][color=#0000ff]Is[/color][/size][size=2] [/size][size=2][color=#0000ff]Nothing[/color][/size][size=2]) [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]components.Dispose()
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]MyBase[/color][/size][size=2].Dispose(disposing)
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Friend[/color][/size][size=2] [/size][size=2][color=#0000ff]WithEvents[/color][/size][size=2] lstStatus [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Windows.Forms.ListBox
[/size][size=2][color=#008000]'Required by the Windows Form Designer
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] components [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.ComponentModel.Container
[/size][size=2][color=#008000]'NOTE: The following procedure is required by the Windows Form Designer
[/color][/size][size=2][/size][size=2][color=#008000]'It can be modified using the Windows Form Designer.
[/color][/size][size=2][/size][size=2][color=#008000]'Do not modify it using the code editor.
[/color][/size][size=2]<System.Diagnostics.DebuggerStepThrough()> [/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] InitializeComponent()
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].lstStatus = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Windows.Forms.ListBox()
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].SuspendLayout()
[/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#008000]'lstStatus
[/color][/size][size=2][/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].lstStatus.Dock = System.Windows.Forms.DockStyle.Fill
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].lstStatus.Name = "lstStatus"
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].lstStatus.Size = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(292, 264)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].lstStatus.TabIndex = 0
[/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#008000]'Form1
[/color][/size][size=2][/size][size=2][color=#008000]'
[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].AutoScaleBaseSize = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(5, 13)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].ClientSize = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(292, 273)
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Controls.AddRange([/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Windows.Forms.Control() {[/size][size=2][color=#0000ff]Me[/color][/size][size=2].lstStatus})
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Name = "Form1"
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Text = "Socket Server"
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].ResumeLayout([/size][size=2][color=#0000ff]False[/color][/size][size=2])
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2]#[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Region
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] Form1_Load([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Object, [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.EventArgs) [/size][size=2][color=#0000ff]Handles[/color][/size][size=2] [/size][size=2][color=#0000ff]MyBase[/color][/size][size=2].Load
mobjThread = [/size][size=2][color=#0000ff]New[/color][/size][size=2] Thread([/size][size=2][color=#0000ff]AddressOf[/color][/size][size=2] DoListen)
mobjThread.Start()
UpdateStatus("Listener started")
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] DoListen()
[/size][size=2][color=#0000ff]Try
[/color][/size][size=2]mobjListener = [/size][size=2][color=#0000ff]New[/color][/size][size=2] TcpListener(8999)
mobjListener.Start()
[/size][size=2][color=#0000ff]Do
[/color][/size][size=2][/size][size=2][color=#008000]'Dim x As New Client(mobjListener.AcceptSocket)
[/color][/size][size=2][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] x [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]New[/color][/size][size=2] Client(mobjListener.AcceptTcpClient)
[/size][size=2][color=#0000ff]AddHandler[/color][/size][size=2] x.Connected, [/size][size=2][color=#0000ff]AddressOf[/color][/size][size=2] OnConnected
[/size][size=2][color=#0000ff]AddHandler[/color][/size][size=2] x.Disconnected, [/size][size=2][color=#0000ff]AddressOf[/color][/size][size=2] OnDisconnected
[/size][size=2][color=#008000]'AddHandler x.CharsReceived, AddressOf OnCharsReceived
[/color][/size][size=2][/size][size=2][color=#0000ff]AddHandler[/color][/size][size=2] x.LineReceived, [/size][size=2][color=#0000ff]AddressOf[/color][/size][size=2] OnLineReceived
mcolClients.Add(x.ID, x)
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] params() [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Object[/color][/size][size=2] = {"New connection"}
[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Invoke([/size][size=2][color=#0000ff]New[/color][/size][size=2] StatusInvoker([/size][size=2][color=#0000ff]AddressOf[/color][/size][size=2] [/size][size=2][color=#0000ff]Me[/color][/size][size=2].UpdateStatus), params)
[/size][size=2][color=#0000ff]Loop[/color][/size][size=2] [/size][size=2][color=#0000ff]Until[/color][/size][size=2] [/size][size=2][color=#0000ff]False
[/color][/size][size=2][/size][size=2][color=#0000ff]Catch
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Try
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] OnConnected([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As[/color][/size][size=2] Client)
UpdateStatus("Connected")
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] OnDisconnected([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As[/color][/size][size=2] Client)
UpdateStatus("Disconnected")
mcolClients.Remove(sender.ID)
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#008000]'Private Sub OnCharsReceived(ByVal sender As Client, ByVal Data As String)
[/color][/size][size=2][/size][size=2][color=#008000]' UpdateStatus("Chars:" & Data)
[/color][/size][size=2][/size][size=2][color=#008000]'End Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] OnLineReceived([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As[/color][/size][size=2] Client, [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] Data [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2])
UpdateStatus("Line:" & Data)
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] objClient [/size][size=2][color=#0000ff]As[/color][/size][size=2] Client
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] d [/size][size=2][color=#0000ff]As[/color][/size][size=2] DictionaryEntry
[/size][size=2][color=#0000ff]For[/color][/size][size=2] [/size][size=2][color=#0000ff]Each[/color][/size][size=2] d [/size][size=2][color=#0000ff]In[/color][/size][size=2] mcolClients
objClient = d.Value
objClient.Send(Data & vbCrLf)
[/size][size=2][color=#0000ff]Next
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] UpdateStatus([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] t [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2])
lstStatus.Items.Add(t)
lstStatus.SetSelected(lstStatus.Items.Count - 1, [/size][size=2][color=#0000ff]True[/color][/size][size=2])
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] Updatefont([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] F [/size][size=2][color=#0000ff]As[/color][/size][size=2] Font)
lstStatus.SetSelected(lstStatus.Items.Count - 1, [/size][size=2][color=#0000ff]True[/color][/size][size=2])
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] Form1_Closing([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Object[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.ComponentModel.CancelEventArgs) [/size][size=2][color=#0000ff]Handles[/color][/size][size=2] [/size][size=2][color=#0000ff]MyBase[/color][/size][size=2].Closing
mobjListener.Stop()
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
End[/color][/size][size=2] [/size][size=2][color=#0000ff]Class
[/color][/size]
ok so theres the current code with the problem of it printing the font in the text recive box still in there Now if some one could tell me how to make it chang the font in the box txtDisplay bassed on what the client sends to the server i would greatley appreciate it. This is my first time working wit clients so anything will be helpfull but if some one could find it in there heart to explain to me how to change it and why im doing each step that would be great and would help give me a much better understanding of using sockets to transfer data....