Hi Brian,
A TcpListener listens for connections. It's the TcpClient that reads the
data. The client usually is in a loop and keeps calling Read. Here's some
code from MSDN that may give you something to work from.
Imports System
Imports System.IO
Imports System.Net
Imports System.Net.Sock ets
Imports System.Text
Imports Microsoft.Visua lBasic
Class MyTcpListener
Public Shared Sub Main()
Try
' Set the TcpListener on port 13000.
Dim port As Int32 = 13000
Dim localAddr As IPAddress = IPAddress.Parse ("127.0.0.1" )
Dim server As New TcpListener(loc alAddr, port)
' Start listening for client requests.
server.Start()
' Buffer for reading data
Dim bytes(1024) As [Byte]
Dim data As [String] = Nothing
' Enter the listening loop.
While True
Console.Write(" Waiting for a connection... ")
' Perform a blocking call to accept requests.
' You could also user server.AcceptSo cket() here.
Dim client As TcpClient = server.AcceptTc pClient()
Console.WriteLi ne("Connected!" )
data = Nothing
' Get a stream object for reading and writing
Dim stream As NetworkStream = client.GetStrea m()
Dim i As Int32
' Loop to receive all the data sent by the client.
i = stream.Read(byt es, 0, bytes.Length)
While (i <> 0)
' Translate data bytes to a ASCII string.
data = System.Text.Enc oding.ASCII.Get String(bytes, 0, i)
Console.WriteLi ne([String].Format("Receiv ed: {0}", data))
' Process the data sent by the client.
data = data.ToUpper()
Dim msg As [Byte]() =
System.Text.Enc oding.ASCII.Get Bytes(data)
' Send back a response.
stream.Write(ms g, 0, msg.Length)
Console.WriteLi ne([String].Format("Sent: {0}", data))
i = stream.Read(byt es, 0, bytes.Length)
End While
' Shutdown and end connection
client.Close()
End While
Catch e As SocketException
Console.WriteLi ne("SocketExcep tion: {0}", e)
End Try
Console.WriteLi ne(ControlChars .Cr + "Hit enter to continue...")
Console.Read()
End Sub 'Main
End Class 'MyTcpListener
I hope this helps.
Craig, VB.NET Team
--------------------------------------------------------------------
This reply is provided AS IS, without warranty (express or implied).
--------------------
From: "Brian Henry" <NO************ @adelphia.net>
Subject: networking question... simple sockets stuff..
Date: Sun, 16 Nov 2003 10:03:34 -0500
Lines: 12
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Message-ID: <OH************ **@TK2MSFTNGP12 .phx.gbl>
Newsgroups: microsoft.publi c.dotnet.langua ges.vb
NNTP-Posting-Host: pa-indiana2b-229.pit.adelphi a.net 24.50.177.229
Path:
cpmsftngxa06.ph x.gbl!TK2MSFTNG XA06.phx.gbl!TK 2MSFTNGXA05.phx .gbl!TK2MSFTNGP 0
8.phx.gbl!TK2MS FTNGP12.phx.gblXref: cpmsftngxa06.ph x.gbl microsoft.publi c.dotnet.langua ges.vb:157170
X-Tomcat-NG: microsoft.publi c.dotnet.langua ges.vb
Hello,
I was tring to learn socket's (being i never used them before) and have a
simple question. I want to create a listner that will get any data recieved
and print it out. I've been able to get it to recieve only one line of
data,but the next one i send to it wont be printed like the 1st one. I had a
listner running in a thread, does anyone have a simple listner code example
that would show how to have a tcplistner thread running that prints out any
ASCII text sent to it from a client? thanks... i just need something to
lookat to see how it works..