Преглед на файлове

Prototype for socks5 proxy server

V2Ray преди 10 години
родител
ревизия
6da69879ee
променени са 1 файла, в които са добавени 35 реда и са изтрити 0 реда
  1. 35 0
      net/sockshandler.go

+ 35 - 0
net/sockshandler.go

@@ -0,0 +1,35 @@
+package net
+
+import (
+	"net"
+)
+
+// SocksServer is a SOCKS 5 proxy server
+type SocksServer struct {
+	accepting bool
+}
+
+func (server *SocksServer) Listen(port uint8) error {
+	listener, err := net.Listen("tcp", ":"+string(port))
+	if err != nil {
+		return err
+	}
+	server.accepting = true
+	go server.AcceptConns(listener)
+	return nil
+}
+
+func (server *SocksServer) AcceptConnections(listener net.Listener) error {
+	for server.accepting {
+		connection, err := listener.Accept()
+		if err != nil {
+			return err
+		}
+		go server.HandleConnection(connection)
+	}
+	return nil
+}
+
+func (server *SocksServer) HandleConnection(connection *net.Conn) error {
+	return nil
+}