Hallo zusammen!
Ich habe mir als Projekt mal einen Mailserver als Ziel gesteckt - ich weiß, nicht ganz ohne
Nun, ich bin da noch nicht ganz soweit. Vielleicht haben hier ja Leute Lust, sowas per OpenSource mit zu entwickeln? Also zu mindest so, dass man am Ende einen lauffähigen Mailserver hat. Was danach jeder damit weiter anstellt, ist jedem selbst überlassen.
Die Codes sollten dann hier gepostet werden.
Also, Lust jemand mitzumachen?
Mein erster Gedanke ist also, erst mal ein Grundgerüst zu basteln, welches erlaubt an einem offenen Port zu lauschen, ob ein Client Verbindung aufbauen will.
Das habe ich mit folgendem Quellcode versucht zu lösen. Klappt das so?
Im Grunde geht es ja darum, dass der Server ja mehrere Verbindungsanfagen gleichzeitig akzeptieren muss, um die Flut der eingehenden Mails verarbeiten zu können.
LG Steff
Ich habe mir als Projekt mal einen Mailserver als Ziel gesteckt - ich weiß, nicht ganz ohne
Nun, ich bin da noch nicht ganz soweit. Vielleicht haben hier ja Leute Lust, sowas per OpenSource mit zu entwickeln? Also zu mindest so, dass man am Ende einen lauffähigen Mailserver hat. Was danach jeder damit weiter anstellt, ist jedem selbst überlassen.
Die Codes sollten dann hier gepostet werden.
Also, Lust jemand mitzumachen?
Mein erster Gedanke ist also, erst mal ein Grundgerüst zu basteln, welches erlaubt an einem offenen Port zu lauschen, ob ein Client Verbindung aufbauen will.
Das habe ich mit folgendem Quellcode versucht zu lösen. Klappt das so?
VB.NET-Quellcode
- Imports System.Net.Sockets
- Imports System.Net
- Module Module1
- Sub Main()
- Static Nachricht As String
- Nachricht = "Test"
- Dim Server As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP)
- Dim ClientSocket As Socket
- Dim IPHostInfo As IPHostEntry = Dns.GetHostEntry(Dns.GetHostName())
- Dim IPAdresse As IPAddress = IPHostInfo.AddressList(0)
- Dim LocalEP As New IPEndPoint(IPAdresse, 110)
- Server.Bind(LocalEP)
- Try
- Server.Listen(100000)
- Nachricht = "Warte auf Client....."
- ClientSocket = Server.Accept()
- Nachricht = "Clientanfrage akzeptiert..."
- Dim Port As Int32 = CType(ClientSocket.RemoteEndPoint, IPEndPoint).Port
- Dim TCPIP As String = CType(ClientSocket.RemoteEndPoint, IPEndPoint).Address.ToString()
- Nachricht = "Remote-Daten: " & TCPIP & Port
- Port = CType(ClientSocket.LocalEndPoint, IPEndPoint).Port
- TCPIP = CType(ClientSocket.LocalEndPoint, IPEndPoint).Address.ToString()
- Nachricht = "Remote-Daten: " & TCPIP & Port
- Catch e As Exception
- Nachricht = e.ToString()
- Finally
- ClientSocket.Close()
- End Try
- End Sub
- End Module
Im Grunde geht es ja darum, dass der Server ja mehrere Verbindungsanfagen gleichzeitig akzeptieren muss, um die Flut der eingehenden Mails verarbeiten zu können.
LG Steff