實驗一 實驗一

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 'Main

 

End Module