Urgent need help!!

Hi! i'm a student doing a project regarding VB.NET, SQL and a Ethernet-DK.I have some problem starting to do this project.
i need to continue to do the project left by other student...

[b]Form1.vb[/b]

[code]Imports System.Net.Sockets
Imports System.Text
Imports System.Data
Imports System.Data.OleDb


Public Class Form1

Const portNo As Integer = 5001
Dim localAdd As System.Net.IPAddress = _
System.Net.IPAddress.Parse("172.16.202.51")
Dim listener As New Net.Sockets.TcpListener(localAdd, portNo)
Dim client As Net.Sockets.TcpClient
Public msg As String
Public count As Integer = 0
Public msgFlag As Boolean = False
Public Shared ans As String
Public clientans As String
Private ListenerThread As System.Threading.Thread
Public AllClients As Hashtable



Private Sub DoListen()
Try
listener.Start()
While (True)
Dim theC As Net.Sockets.TcpClient = listener.AcceptTcpClient()
Dim theClient As New ChatClient(theC)
AddHandler theClient.DataReceived, AddressOf Me.OnLineReceived
End While
Catch ex As Exception

End Try
End Sub
Private Sub OnLineReceived(ByVal sender As ChatClient, _
ByVal data As String)
Me.msg = data
Me.msgFlag = True

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TimerUpdate.Tick
TimerUpdate.Enabled = False
If msgFlag Then
Me.msgFlag = False

TextBoxMsg.AppendText(msg + Chr(13) + Chr(10))

End If
TimerUpdate.Enabled = True
End Sub


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim i As Integer = 0
Button2.Enabled = False
Try
ListenerThread = New Threading.Thread(AddressOf DoListen)
ListenerThread.Start()
Catch ex As Exception

End Try
Me.msg = "Server Have Started"
TextBoxMsg.Text = msg + Chr(13) + Chr(10)
Button1.Enabled = True
TimerUpdate.Enabled = True
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim quest As String
Dim choice1 As String
Dim choice2 As String
Dim choice3 As String
Dim message As String
Dim OleDbConnectionString As String = "Provider = Microsoft.Jet.OLEDB.4.0 ;data source=C:Documents and SettingsstudentDesktopFinalprojcetserverquestion.mdb"

Dim OleDbConnection1 As New OleDbConnection(OleDbConnectionString)

Randomize()
Dim QuestionNo As String
QuestionNo = Int((9) * Rnd() + 1).ToString
Dim SqlString As String = "select * from Question where Number=" + QuestionNo

Dim OleDbDataAdapter1 As New OleDbDataAdapter(SqlString, OleDbConnection1)

Dim DataSet1 As New DataSet

Dim BindingSource1 As BindingSource


OleDbConnection1.Open()
OleDbDataAdapter1.Fill(DataSet1, "Question")
OleDbConnection1.Close()

BindingSource1 = New BindingSource(DataSet1, "Question")

Question.DataBindings.Add("text", BindingSource1, "Question")
C1.DataBindings.Add("text", BindingSource1, "Choice1")
C2.DataBindings.Add("text", BindingSource1, "Choice2")
C3.DataBindings.Add("text", BindingSource1, "Choice3")
TextBox1.DataBindings.Add("text", BindingSource1, "Answer")


quest = "Q> " + Question.Text
choice1 = "1> " + C1.Text
choice2 = "2> " + C2.Text
choice3 = "3> " + C3.Text


If C1.Text = TextBox1.Text Then
ans = 1
ElseIf C2.Text = TextBox1.Text Then
ans = 2
ElseIf C3.Text = TextBox1.Text Then
ans = 3
End If

message = quest + Environment.NewLine() _
+ choice1 + Environment.NewLine() _
+ choice2 + Environment.NewLine() _
+ choice3 + Environment.NewLine()
Broadcast(message)
Question.Clear()
C1.Clear()
C2.Clear()
C3.Clear()
Question.DataBindings.Clear()
C1.DataBindings.Clear()
C2.DataBindings.Clear()
C3.DataBindings.Clear()
TextBox1.DataBindings.Clear()

ans1.Checked = False
ans2.Checked = False
ans3.Checked = False
Button3.Enabled = True
Button1.Enabled = False

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim msg As String = ChatClient.x
Broadcast("Correct answer is " + ans + "." + Environment.NewLine() + msg)
Button1.Enabled = True
Button3.Enabled = False
ChatClient.x = ""

End Sub
Public Sub Broadcast(ByVal message As String)
AllClients = ChatClient.AllClients
Console.WriteLine(message)
TextBoxMsg.Text = TextBoxMsg.Text + message
Dim c As DictionaryEntry
For Each c In AllClients
CType(c.Value, ChatClient).SendMessage(message & vbCrLf)
Next
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub
End Class[/code]

[b]ChatClient.vb[/b]
[code]Imports System.Net.Sockets
Imports System.Text

Public Class ChatClient
Public Shared AllClients As New Hashtable
Public Shared answer As String
Public Shared x As String = ""
Private _client As TcpClient
Private _clientIP As String
Private _ClientNick As String

Private data() As Byte

Private ReceiveNick As Boolean = True

Public Sub New(ByVal client As TcpClient)
_client = client

_clientIP = client.Client.RemoteEndPoint.ToString

AllClients.Add(_clientIP, Me)

ReDim data(_client.ReceiveBufferSize)
_client.GetStream.BeginRead(data, 0, _
CInt(_client.ReceiveBufferSize), _
AddressOf ReceiveMessage, Nothing)
End Sub

Public Sub SendMessage(ByVal message As String)
Try
Dim ns As System.Net.Sockets.NetworkStream
SyncLock _client.GetStream
ns = _client.GetStream
End SyncLock
Dim bytesToSend As Byte() = _
System.Text.Encoding.ASCII.GetBytes(message)
ns.Write(bytesToSend, 0, bytesToSend.Length)
ns.Flush()
Catch ex As Exception
Console.WriteLine(ex.ToString)
End Try
End Sub

Public Sub ReceiveMessage(ByVal ar As IAsyncResult)
Dim bytesRead As Integer
Try
SyncLock _client.GetStream
bytesRead = _client.GetStream.EndRead(ar)
End SyncLock
If bytesRead < 1 Then
AllClients.Remove(_clientIP)
Broadcast(_ClientNick & " has left.")
Exit Sub
Else
Dim messageReceived As String = _
System.Text.Encoding.ASCII.GetString(data, 0, bytesRead)
If ReceiveNick Then
_ClientNick = messageReceived
Broadcast(_ClientNick & " has entered.")
ReceiveNick = False
Else
Broadcast(_ClientNick & "'s answer is " & messageReceived)
If (messageReceived = Form1.ans) Then
x = x + _ClientNick + " is correct. Received at " + DateTime.Now.ToString() + Environment.NewLine
Else
x = x + _ClientNick + " is wrong. Received at " + DateTime.Now.ToString() + Environment.NewLine
End If
End If
End If
SyncLock _client.GetStream
_client.GetStream.BeginRead(data, 0, CInt(_client.ReceiveBufferSize), _
AddressOf ReceiveMessage, Nothing)
End SyncLock
Catch ex As Exception
AllClients.Remove(_clientIP)
Broadcast(_ClientNick & " has left.")
End Try
End Sub
Public Sub Broadcast(ByVal message As String)
Console.WriteLine(message)
RaiseEvent DataReceived(Me, message)
Dim c As DictionaryEntry
For Each c In AllClients
CType(c.Value, ChatClient).SendMessage(message & vbCrLf)
Next
End Sub
Public Event DataReceived(ByVal tcpSender As ChatClient, _
ByVal data As String)
End Class[/code]

i dont know single thing about programming and yet i need to do this project...is about quiz-master thing.
my teacher ask me to modify it to be a better one...
-able to manage many players
-able to record time when the player join in or answered the question
(suppose to see who can answer the question quickest)

so any one?can help me with this project..i would be thankful and greatful with it!i'm really helpless now....

thanks!!
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories