static void Main(string[] args) { try { // 取得本機的識別名稱 string hostname = Dns.GetHostName(); // 取得主機的DNS資訊 IPAddress serverIP = Dns.Resolve(hostname).AddressList[0]; // Port = 21 string Port = "21"; System.Net.Sockets.TcpListener tcpListener = new TcpListener(serverIP, Int32.Parse(Port)); // 開始接聽等候用戶端的網路連線請求 tcpListener.Start(); Console.WriteLine("FTP server started at: " + serverIP.ToString() + ":" + Port); FTPSession ftpSession = new FTPSession(tcpListener); // 執行緒 ThreadStart serverThreadStart = new ThreadStart(ftpSession.FTPSessionThread); Thread serverthread = new Thread(serverThreadStart); serverthread.Start(); } catch (Exception ex) { Console.WriteLine(ex.StackTrace.ToString()); } }
static void Main(string[] args) { try { //IPAddress serverIP = IPAddress.Parse("127.0.0.1") ; String hostname = Dns.GetHostName(); IPAddress serverIP = Dns.Resolve(hostname).AddressList[0]; // FTP Server Port = 21 String Port = "21"; IPEndPoint serverhost = new IPEndPoint(serverIP, Int32.Parse(Port)); Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); serverSocket.Bind(serverhost); // Backlog = 100 serverSocket.Listen(100); Console.WriteLine("FTP server started at: " + serverhost.Address.ToString() + ":" + Port); FTPSession ftpSession = new FTPSession(serverSocket); ThreadStart serverThreadStart = new ThreadStart(ftpSession.FTPSessionThread); Thread serverthread = new Thread(serverThreadStart); serverthread.Start(); } catch (Exception ex) { Console.WriteLine(ex.StackTrace.ToString()); } }
static void Main(string[] args) { try { // 建立伺服端Socket Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); // 取得本機的識別名稱 string hostname = Dns.GetHostName(); // 取得主機的DNS資訊 IPAddress serverIP = Dns.Resolve(hostname).AddressList[0]; // Port = 21 string Port = "21"; // 處理主機IP位址及主機服務所需的通訊埠資訊 IPEndPoint serverhost = new IPEndPoint(serverIP, Int32.Parse(Port)); // 繫結設定伺服端Socket serverSocket.Bind(serverhost); // 開始接聽等候用戶端的網路連線請求 // 設定伺服端最大用戶端連線數為int.MaxValue serverSocket.Listen(int.MaxValue); Console.WriteLine("FTP server started at: " + serverIP.ToString() + ":" + Port); FTPSession ftpSession = new FTPSession(serverSocket); // 執行緒 ThreadStart serverThreadStart = new ThreadStart(ftpSession.FTPSessionThread); Thread serverthread = new Thread(serverThreadStart); serverthread.Start(); } catch (Exception ex) { Console.WriteLine(ex.StackTrace.ToString()); } }
static void Main(string[] args) { try { Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); string hostname = Dns.GetHostName(); IPAddress serverIP = Dns.Resolve(hostname).AddressList[0]; // Port = 21 string Port = "21"; IPEndPoint serverhost = new IPEndPoint(serverIP, Int32.Parse(Port)); // 繫結設定伺服端Socket所使用的IP位址與通訊埠 serverSocket.Bind(serverhost); // 設定伺服端最大用戶端連結數 Backlog = 50 serverSocket.Listen(50); Console.WriteLine("FTP server started at: " + serverIP.ToString() + ":" + Port); FTPSession ftpSession = new FTPSession(serverSocket); // 執行緒 ThreadStart serverThreadStart = new ThreadStart(ftpSession.FTPSessionThread); Thread serverthread = new Thread(serverThreadStart); serverthread.Start(); } catch (Exception ex) { Console.WriteLine(ex.StackTrace.ToString()); } }