' Demonstrates how to connect to a web server and request a web page ' The index page of www.thegamecreators.com should be received Imports System.Threading Module Module1 Sub Main() ' mnClientConnected return value constants Const C_NOT_CONNECTED = 0 Const C_CONNECTED = 1 Const C_NO_SEND = 2 Const C_NO_RECV = 3 Const C_NO_SEND_RECV = 4 ' Connect to server Dim iReturn As Integer = 0 Console.WriteLine("DarkNet version: " + mn.GetVersion()) Dim RecvPacket As Int64 = mn.CreatePacket() Dim SendPacket As Int64 = mn.CreatePacket() mn.SetMemorySize(SendPacket, 1024) mn.Start(1, 0) mn.DisableTCPHandshake(0) mn.SetAutoResizeTCP(0, 0, True) mn.EnableGracefulDisconnect(0) mn.SetTCPMode(0, 2) Dim IP As String = mn.DNS("www.thegamecreators.com") iReturn = mn.Connect(0, IP, 80, IP, 80, 5, True) mn.SetAutoResizeTCP(0, 0, True) Select (iReturn) Case (1) Console.WriteLine("Connected to server") Case (0) Console.WriteLine("Connection timed out") Console.WriteLine("Press any key to exit...") Console.ReadKey() Return Case (-1) Console.WriteLine("Error occurred whilst connecting") Console.WriteLine("Press any key to exit...") Console.ReadKey() Return Case (-2) Console.WriteLine("Error occurred: server rejected connection request") Console.WriteLine("Press any key to exit...") Console.ReadKey() Return End Select ' Send request Console.WriteLine("Press any key to send!") Console.ReadKey() Dim EndOfLine As String = Chr(13) + Chr(10) mn.AddString(SendPacket, "GET / HTTP/1.1" + EndOfLine, 0, False) mn.AddString(SendPacket, "Host: thegamecreators.com" + EndOfLine, 0, False) mn.AddString(SendPacket, "Connection: close" + EndOfLine, 0, False) mn.SendTCP(0, SendPacket, 0, False, True) ' Main loop While mn.ClientConnected(0, 0) <> 0 ' Use less CPU Thread.Sleep(1) ' Check for graceful disconnect If mn.ClientConnected(0, 0) = C_NO_RECV Then ' Wait for all data to be received before closing connection If mn.GetTCPStoreAmount(0, 0) = 0 Then mn.ShutdownClient(0, 0) End If End If ' TCP packets iReturn = mn.RecvTCP(0, RecvPacket, 0) If iReturn > 0 Then Console.WriteLine("Packet size: " + mn.GetUsedSize(RecvPacket).ToString()) If mn.GetUsedSize(RecvPacket) > 0 Then Console.WriteLine("Packet data:") Dim Data As String = mn.GetString(RecvPacket, mn.GetUsedSize(RecvPacket), True) Console.WriteLine(Data) Console.WriteLine() End If End If end while Console.WriteLine("Disconnected from server!") mn.Finish(-1) Console.WriteLine("Press any key to exit...") Console.ReadKey() End Sub End Module