網頁文章 網頁文章

 簡易聊天 伺服端

 
Imports System
Imports System.IO
Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Imports Microsoft.VisualBasic
 
Module Module1
 
    Sub Main()
 
 
        Dim server As TcpListener
        server = Nothing
        Try
 
            Dim port As Int32 = 13000
            Dim localAddr As IPAddress = IPAddress.Parse("192.168.0.179")
 
            server = New TcpListener(localAddr, port)
            server.Start()
 
            Dim bytes(1024) As Byte
            Dim data As String = Nothing
 
            While True
                Console.Write("Chat-1 Server 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
                Dim j As String
 
                i = stream.Read(bytes, 0, bytes.Length)
 
                While (i <> 0)
 
                    data = System.Text.Encoding.ASCII.GetString(bytes, 0, i)
                    Console.WriteLine("Received: {0}", data)
 
 
                    Console.Write("Server: ")
                    j = Console.ReadLine()
                    Dim msg As Byte() = System.Text.Encoding.ASCII.GetBytes(j)
 
 
                    stream.Write(msg, 0, msg.Length)
                    i = stream.Read(bytes, 0, bytes.Length)
 
                End While
 
                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
 
 
 
------------------------------------------------------------------------------------------------------------------
 
 
簡易聊天 顧客端
 
Imports System
Imports System.IO
Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Imports Microsoft.VisualBasic
Module Module1
 
    Sub Main()
 
        Connect("192.168.0.179", " How are you server-1")
 
    End Sub
 
 
    Sub Connect(ByVal server As [String], ByVal message As [String])
        Try
           
            Dim port As Int32 = 13000
            Dim client As New TcpClient(server, port)
 
            Dim data As [Byte]() = System.Text.Encoding.ASCII.GetBytes(message)
 
            Dim stream As NetworkStream = client.GetStream()
 
            
            Dim i As Integer
 
            Dim j As String
 
            For i = 0 To 3
            Console.Write("Client: ")
            j = Console.ReadLine()
            data = System.Text.Encoding.ASCII.GetBytes(j)
            stream.Write(data, 0, data.Length)
            data = New [Byte](256) {}
 
            Dim responseData As [String] = [String].Empty
            Dim bytes As Int32 = stream.Read(data, 0, data.Length)
 
            responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes)
            Console.WriteLine("From server: {0}", responseData)
            Next i
 
            client.Close()
        Catch e As ArgumentNullException
            Console.WriteLine("ArgumentNullException: {0}", e)
        Catch e As SocketException
            Console.WriteLine("SocketException: {0}", e)
        End Try
 
        Console.WriteLine(ControlChars.Cr + " Press Enter to continue...")
        Console.Read()
    End Sub 'Connect
 
 
End Module