20141006 20141006

 TcpListener

 

 

Imports System
Imports System.IO
Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Imports Microsoft.VisualBasic
 
Module Module1
 
    Sub Main()
 
        Dim Web_file As String = "c:\index.html"
        Dim TextLine As String
        Dim server As TcpListener
        server = Nothing
 
        Try
 
            Dim port As Int32 = 13000
            Dim localAddr As IPAddress = IPAddress.Parse("192.168.0.117")
            server = New TcpListener(localAddr, port)
            server.Start()
 
            Dim bytes(1024) As Byte
            Dim data As String = Nothing
 
            While True
                Console.Write("Waiting for a connection... ")
 
                Dim client As TcpClient = server.AcceptTcpClient()
                Console.WriteLine("Connected!")
 
                data = Nothing
 
                Dim stream As NetworkStream = client.GetStream()
 
                Dim i As Int32
 
                i = stream.Read(bytes, 0, bytes.Length)
 
                data = System.Text.Encoding.ASCII.GetString(bytes, 0, i)
                Console.WriteLine("Received: {0}", data)
 
                If System.IO.File.Exists(Web_file) = True Then
 
                    Dim objReader As New System.IO.StreamReader(Web_file, System.Text.Encoding.GetEncoding("big5"))
 
                    Do While objReader.Peek() <> -1
                        TextLine = TextLine & objReader.ReadLine() & ControlChars.CrLf
                    Loop
 
                    objReader.Close()
                Else
                    MsgBox("File Does Not Exist")
                End If
 
                Dim msg As Byte() = System.Text.Encoding.ASCII.GetBytes(TextLine)
 
                stream.Write(msg, 0, msg.Length)
                Console.WriteLine("Sent: {0}", data)
 
                client.Close()
            End While
        Catch e As SocketException
            Console.WriteLine("SocketException: {0}", e)
        Finally
            server.Stop()
        End Try
 
        Console.WriteLine(ControlChars.Cr + "Hit enter to continue....")
        Console.Read()
    End Sub
 
End Module