20141103 作業五 20141103 作業五

Imports System.IO

Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Imports Microsoft.VisualBasic
 
Module Module1
 
 
    Public Sub Main()
 
 
        Dim Web_file1 As String = "c:\wildlife.wmv"
        'Dim Web_file2 As String = "c:\ccc.MHT"
        'Dim Web_file3 As String = "c:\aaaa.mp3"
        ' Dim Web_file As String = "c:\TestFile6.txt"
        Dim msg(401002400) As Byte
        Dim server As TcpListener
 
 
        server = Nothing
 
        Try
 
            Dim port As Int32 = 13000
            Dim localAddr As IPAddress = IPAddress.Parse("192.168.0.117")
 
            Dim bytes(1024) As Byte
            Dim data As String = Nothing
 
            server = New TcpListener(localAddr, port)
            server.Start()
 
            While True
 
                Console.Write("Waiting for a connection... ")
                Dim client As TcpClient = server.AcceptTcpClient()
                Console.WriteLine("Connected!" & ControlChars.CrLf)
 
                Dim clientInfo As IPEndPoint = CType(client.Client.RemoteEndPoint, IPEndPoint)
                Console.WriteLine("Client: " + clientInfo.Address.ToString() + ":" + clientInfo.Port.ToString())
 
                Dim stream As NetworkStream = client.GetStream()
 
                Dim i As Integer
                i = stream.Read(bytes, 0, bytes.Length)
 
                data = System.Text.Encoding.ASCII.GetString(bytes, 0, i)
                Console.WriteLine("Received: {0}", data)
 
             
                If ((data.IndexOf("GET /xxx.yyy")) >= 0) Then
 
                    ' Set HTML Header
                    Dim htmlHeader As String = _
                 "HTTP/1.1 200 OK" & ControlChars.CrLf & _
                 "Server: DahanbServer 1.0" & ControlChars.CrLf & _
                 "Content-Length: " & data.Length & ControlChars.CrLf & _
                 "Content-Type: " & "video/x-ms-wmv" & _
                 ControlChars.CrLf & ControlChars.CrLf
 
                    ' The content Length of HTML Header
                    ' msg = Encoding.ASCII.GetBytes(htmlHeader)
                    ' Console.WriteLine("HTML Header: " & ControlChars.CrLf & htmlHeader)
                    ' 回應HTML標題至用戶端瀏覽器
                    ' stream.Write(msg, 0, msg.Length)
 
 
                    If System.IO.File.Exists(Web_file1) = True Then
                        msg = My.Computer.FileSystem.ReadAllBytes(Web_file1)
 
                    End If
 
                    stream.Write(msg, 0, msg.Length)
                    client.Close()
                End If
               
 
            End While
 
 
 
        Catch e As SocketException
            Console.WriteLine("SocketException: {0}", e)
        Finally
            server.Stop()
        End Try
 
        Console.WriteLine(ControlChars.Cr + "Hit enter to continue....")
 
    End Sub 'Main
 
End Module

Web Content Display Web Content Display

 Imports System.IO

 
Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Imports Microsoft.VisualBasic
 
Module Module1
 
 
    Public Sub Main()
 
 
        Dim Web_file1 As String = "c:\10079533.jpg"
        'Dim Web_file2 As String = "c:\ccc.MHT"
        'Dim Web_file3 As String = "c:\aaaa.mp3"
        ' Dim Web_file As String = "c:\TestFile6.txt"
        Dim msg(401002400) As Byte
        Dim server As TcpListener
 
 
        server = Nothing
 
        Try
 
            Dim port As Int32 = 13000
            Dim localAddr As IPAddress = IPAddress.Parse("192.168.0.116")
 
            Dim bytes(1024) As Byte
            Dim data As String = Nothing
 
            server = New TcpListener(localAddr, port)
            server.Start()
 
            While True
 
                Console.Write("Waiting for a connection... ")
                Dim client As TcpClient = server.AcceptTcpClient()
                Console.WriteLine("Connected!" & ControlChars.CrLf)
 
                Dim clientInfo As IPEndPoint = CType(client.Client.RemoteEndPoint, IPEndPoint)
                Console.WriteLine("Client: " + clientInfo.Address.ToString() + ":" + clientInfo.Port.ToString())
 
                Dim stream As NetworkStream = client.GetStream()
 
                Dim i As Integer
                i = stream.Read(bytes, 0, bytes.Length)
 
                data = System.Text.Encoding.ASCII.GetString(bytes, 0, i)
                Console.WriteLine("Received: {0}", data)
 
 
                If ((data.IndexOf("GET /10079533.huzeng")) >= 0) Then
 
                    ' Set HTML Header
                    Dim htmlHeader As String = _
                 "HTTP/1.1 200 OK" & ControlChars.CrLf & _
                 "Server: DahanbServer 1.0" & ControlChars.CrLf & _
                 "Content-Length: " & data.Length & ControlChars.CrLf & _
                 "Content-Type: " & "video/x-ms-wmv" & _
                 ControlChars.CrLf & ControlChars.CrLf
 
                    ' The content Length of HTML Header
                    ' msg = Encoding.ASCII.GetBytes(htmlHeader)
                    ' Console.WriteLine("HTML Header: " & ControlChars.CrLf & htmlHeader)
                    ' 回應HTML標題至用戶端瀏覽器
                    ' stream.Write(msg, 0, msg.Length)
 
 
                    If System.IO.File.Exists(Web_file1) = True Then
                        msg = My.Computer.FileSystem.ReadAllBytes(Web_file1)
 
                    End If
 
                    stream.Write(msg, 0, msg.Length)
                    client.Close()
                End If
 
 
            End While
 
 
 
        Catch e As SocketException
            Console.WriteLine("SocketException: {0}", e)
        Finally
            server.Stop()
        End Try
 
        Console.WriteLine(ControlChars.Cr + "Hit enter to continue....")
 
    End Sub 'Main
 
End Module