private void btnListen_Click(object sender, EventArgs e) { IPAddress ipAddr = IPAddress.Parse(txtIp.Text); ChatServer mainServer = new ChatServer(ipAddr); ChatServer.StatusChanged += new StatusChangedEventHandler(mainServer_StatusChanged); mainServer.StartListening(); txtLog.AppendText("Monitoring for connections...\r\n"); }
//private SimpleIRCRelay relay = SimpleIRCRelay.DefaultRelay; //public event ChatEventHandler OnUserListChange; //Set up the logger when building the chat provider. Logging will go out to a file and the console //if possible. Otherwise, log to the default logger (which is like throwing them away) public Chat(int userUpdateInterval, ChatServer manager) { userUpdateTimer.Interval = userUpdateInterval * 1000; userUpdateTimer.Elapsed += UpdateActiveUserList; userUpdateTimer.Start(); //Assume the manager that was given was good this.manager = manager; foreach (Module module in manager.GetModuleListCopy()) module.OnExtraCommandOutput += DefaultOutputMessages; }
private void btnListen_Click(object sender, EventArgs e) { // Parse the server's IP address out of the TextBox IPAddress ipAddr = IPAddress.Parse(txtIp.Text); // Create a new instance of the ChatServer object ChatServer mainServer = new ChatServer(ipAddr); // Hook the StatusChanged event handler to mainServer_StatusChanged ChatServer.StatusChanged += new StatusChangedEventHandler(mainServer_StatusChanged); // Start listening for connections mainServer.StartListening(); // Show that we started to listen for connections txtLog.AppendText("Monitoring for connections...\r\n"); }
public Response Handle(ChatServer server, Request request) { try { return(RequestHandlers[request.RequestCode].Handle(server, request)); } catch (KeyNotFoundException) { return(new ErrorResponse(new BadRequestException())); } catch (Exception e) { return(new ErrorResponse(e)); } }
internal ServerSession(TcpClient client, ChatServer server, long sessionID) { this.sessionID = sessionID; this.server = server; this.client = client; var bf = new BinaryFormatter(); var stream = client.GetStream(); if (stream == null) { throw new NullReferenceException(); } br = new BinaryFormatterReader(bf, stream); bw = new BinaryFormatterWriter(bf, stream); }
static void Main(string[] args) { ChatServer server = new ChatServer("127.0.0.1", 12345); try { server.Start(); } catch (Exception e) { Console.WriteLine("Unexpected Exception occured."); Console.WriteLine(e.ToString()); Console.ReadKey(); } }
public void Message_ConnectTest() { Socket testSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); ChatServer.ChatServer cs = new ChatServer.ChatServer(7777); cs.StartListening(); testSocket.Connect("127.0.0.1", 7777); Net_SendData(testSocket, "TestUsername"); string resp = Net_RecieveData(testSocket); //string resp = Net_RecieveData(testSocket); Assert.AreEqual(resp, "1"); }
private void Btn_Start_Click(object sender, EventArgs e) { if (isConnect) { server.Stop(); Btn_Start.Text = "Star"; } else { server = new ChatServer(Combo_IP.Text, Txt_port.Text, this); server.Start(); Btn_Start.Text = "Stop"; } isConnect = !isConnect; }
private void btnAtender_Click(object sender, EventArgs e) { IPAddress enderecoIP = IPAddress.Parse(txt_log.Text); // Cria uma nova instância do objeto ChatServer ChatServer mainServidor = new ChatServer(enderecoIP); // Vincula o tratamento de evento StatusChanged a mainServer_StatusChanged ChatServer.StatusChanged += new StatusChangedEventHandler(mainServer_StatusChanged); // Inicia o atendimento das conexões mainServidor.IniciaAtendimento(); // Mostra que nos iniciamos o atendimento para conexões txt_log.AppendText("Monitorando as conexões...\r\n"); }
protected override void Setup() { log4net.GlobalContext.Properties["Photon:ApplicationLogPath"] = Path.Combine(this.ApplicationPath, "log"); FileInfo file = new FileInfo(Path.Combine(this.BinaryPath, "log4net.config")); if (file.Exists) { LogManager.SetLoggerFactory(Log4NetLoggerFactory.Instance); XmlConfigurator.ConfigureAndWatch(file); peerDictionary = new Dictionary <Guid, ChatPeer>(); Server = this; Log.Info("Server Setup Successiful......."); } }
public static void Main() { ChatServer server = new ChatServer(); server.Start(); string command; do { command = Console.ReadLine() ?? ""; if (command.Equals("cls")) { Console.Clear(); } } while (!command.Equals("stop")); server.Close(); }
static void Main() { var parametrs = new Parametrs("config.ini"); parametrs.LoadParametrs(); var transport = new LiteNetLibTransport(parametrs.MaxConnection, parametrs.KeyConnection); var protocol = new TransportUdpProtocol(transport, parametrs.MaxMessageSize, new BinarySerializer()); var network = new ProtocolUdpNetwork(protocol, new RealNow(), parametrs.Timeout); _server = new ChatServer(network, parametrs.MaxMessageLength); _timer = new Timer(100); _timer.Elapsed += OnTimerElapsed; network.Start(parametrs.Port); _timer.Start(); Console.ReadKey(); }
private void btnListen_Click(object sender, EventArgs e) { // Считываем IP-адреса сервера из TextBox IPAddress ipAddr = IPAddress.Parse(txtIp.Text); port = Convert.ToInt32(textBox1.Text); long IPv6 = ipAddr.ScopeId; //Создаем новый экземпляр объекта ChatServer ChatServer mainServer = new ChatServer(IPv6, port); // Подключаем обработчик событий StatusChanged к mainServer_StatusChanged ChatServer.StatusChanged += new StatusChangedEventHandler(mainServer_StatusChanged); //Начинаем прослушивать соединения mainServer.StartListening(); txtLog.AppendText("Мониторинг подключений...\r\n"); }
private void btnListen_Click(object sender, EventArgs e) { ChatServer.intPuerto = int.Parse(tbPuerto.Text); string strqry = "UPDATE [dbPOI].[dbo].[tblSubGrupo] SET[strDireccionIP] = '" + tbDireccionIP.Text + "', [intPuerto] = " + tbPuerto.Text + " WHERE IDGrupo = " + numericUpDown1.Value; cFunciones.EnviarComandoSQLMIServer(strqry, ""); // Parse the server's IP address out of the TextBox IPAddress ipAddr = IPAddress.Parse(tbDireccionIP.Text); // Create a new instance of the ChatServer object ChatServer mainServer = new ChatServer(ipAddr); // Hook the StatusChanged event handler to mainServer_StatusChanged ChatServer.StatusChanged += new StatusChangedEventHandler(mainServer_StatusChanged); // Start listening for connections mainServer.StartListening(); // Show that we started to listen for connections txtLog.AppendText("Monitoreando conexion...\r\n"); }
private void btnListen_Click(object sender, EventArgs e) { // Parse the server's IP address out of the TextBox IPAddress ipAddr = IPAddress.Parse(txtIp.Text); // Create a new instance of the ChatServer object mainServer = new ChatServer(ipAddr); // Start listening for connections if (mainServer.StartListening()) { // Hook the StatusChanged event handler to mainServer_StatusChanged ChatServer.StatusChanged += new StatusChangedEventHandler(mainServer_StatusChanged); // Show that we started to listen for connections txtLog.AppendText("Server started on " + ipAddr + ":" + GeoCommunication.CONSTS.CHAT_PORT + "...\r\n"); } else { txtLog.AppendText("Unable to Start Server!\r\n"); } //((Button)sender).Enabled = false; }
private void btnListen_Click(object sender, EventArgs e) { try { // Преобразуем значение из txtIp в объект типа IPAddress IPAddress ipAddr = IPAddress.Parse(txtIp.Text); // Создается новый экземпляр объекта ChatServer mainServer = new ChatServer(ipAddr); // Подключаем обработчик события ChatMessageHandler к mainServer_ChatMessageHandler ChatServer.ChatMessageHandler += new ChatMessageEventHandler(mainServer_ChatMessageHandler); // Начинается прослушивание соединений mainServer.StartListening(); txtLog.AppendText("Monitoring for connections...\r\n"); btnListen.Enabled = false; } catch { txtLog.AppendText("Error with creating server acceptor...\r\n"); return; } }
private void btnListen_Click(object sender, EventArgs e) { // Parse the server's IP address out of the TextBox IPAddress ipAddr = IPAddress.Parse(txtIp.Text); // Create a new instance of the ChatServer object mainServer = new ChatServer(ipAddr); // Start listening for connections if (mainServer.StartListening()) { // Hook the StatusChanged event handler to mainServer_StatusChanged ChatServer.StatusChanged += new StatusChangedEventHandler(mainServer_StatusChanged); // Show that we started to listen for connections txtLog.AppendText("Server started on "+ipAddr+":"+GeoCommunication.CONSTS.CHAT_PORT+"...\r\n"); } else { txtLog.AppendText("Unable to Start Server!\r\n"); } //((Button)sender).Enabled = false; }
private void btnListen_Click(object sender, EventArgs e) { int port; if (!int.TryParse(textBox_port.Text, out port) || port < 0 || port > 65535) { MessageBox.Show("Invalid port number."); return; } ChatServer mainServer = new ChatServer(port); // Привязка ChatServer.StatusChanged += new StatusChangedEventHandler(mainServer_StatusChanged); // Запуск прослушивания mainServer.StartListening(); // Отображение прослушивания btnListen.Enabled = false; textBox_port.Enabled = false; txtLog.AppendText("Monitoring for connections...\r\n"); }
public static void Main(string[] args) { enterHostPort: UInt16 hostPort; Console.Write("수신 대기할 포트 입력: "); try { hostPort = UInt16.Parse(Console.ReadLine().Trim()); } catch { Console.WriteLine("다시 입력하세요"); goto enterHostPort; } ChatServer cs = new ChatServer(); cs.StartServer(hostPort); while (true) { String msg; Console.Write("보낼 메세지 (종료키: X): "); msg = Console.ReadLine().Trim(); // 입력받은 문자열이 null 인 경우, 다시 반복문의 처음으로 돌아간다. if (String.IsNullOrEmpty(msg)) { continue; } // 입력받은 문자열이 X 인 경우, 프로그램을 종료한다. if (msg.Equals("X")) { cs.StopServer(); return; } // 그 외의 경우엔 메세지를 보낸다. cs.SendMessage(msg); } }
public Connection(TcpClient tcpClient, ChatServer chatServer) { this._tcpClient = tcpClient; this._chatServer = chatServer; }
static void Main(string[] args) { var chatserver = new ChatServer(); chatserver.Run(); }
static void Main(string[] args) { ChatServer server = new ChatServer(); server.StartServer("127.0.0.1", 10001); }
public static void Main(string[] args) { var server = ChatServer.GetInstance(FileSystemDatabase.Initialize()); server.Run(); }
static void Main(string[] args) { ChatServer server = new ChatServer(); server.Start(); }
static void Main(string[] args) { ChatServer server = new ChatServer(9001); server.Run(); }
static void Main(string[] args) { ChatServer server = new ChatServer(1234); server.connection(); }
// Происходит, когда принимается новый клиент private void AcceptClient() { srReceiver = new System.IO.StreamReader(tcpClient.GetStream()); swSender = new System.IO.StreamWriter(tcpClient.GetStream()); // Читаем информацию о счете от клиента currUser = srReceiver.ReadLine(); // Мы получили ответ от клиента if (currUser != "") { // Сохраняем имя пользователя в хэш-таблице if (ChatServer.htUsers.Contains(currUser) == true) { // 0 означает не подключен swSender.WriteLine("0|Это имя пользователя уже существует."); swSender.Flush(); CloseConnection(); return; } else if (currUser == "Administrator") { // 0 означает не подключен swSender.WriteLine("0|Это имя пользователя зарезервировано."); swSender.Flush(); CloseConnection(); return; } else { // 1 означает успешное подключение swSender.WriteLine("1"); swSender.Flush(); // Добавьте пользователя в хэш-таблицы и начните прослушивать сообщения от него ChatServer.AddUser(tcpClient, currUser); } } else { CloseConnection(); return; } try { // Продолжаем ждать сообщения от пользователя while ((strResponse = srReceiver.ReadLine()) != "") { // Если он недействителен, удаляем пользователя if (strResponse == null) { ChatServer.RemoveUser(tcpClient); } else { // В противном случае отправляем сообщение всем остальным пользователям ChatServer.SendMessage(currUser, strResponse); } } } catch { // Если что-то пошло не так с этим пользователем, отключите его ChatServer.RemoveUser(tcpClient); } }
// Occures when a new client is accepted private void AcceptClient() { srReceiver = new StreamReader(tcpClient.GetStream()); swSender = new StreamWriter(tcpClient.GetStream()); // Read the account information from the client currUser = srReceiver.ReadLine(); currPassword = srReceiver.ReadLine(); // We got a response from the client if (currUser != "") { // Store the user name in the hash table if (ChatServer.htUsers.Contains(currUser) == true) { // 0 means not connected swSender.WriteLine("0|This username already exists."); swSender.Flush(); CloseConnection(); return; } else if (currUser == "Administrator") { // 0 means not connected swSender.WriteLine("0|This username is reserved."); swSender.Flush(); CloseConnection(); return; } else { SqlConnection connection = new SqlConnection(_connectionString); connection.Open(); SqlDataReader reader; SqlCommand cmd = new SqlCommand() { Connection = connection, CommandText = "SELECT login, password FROM [dbo].[Users] WHERE (Users.login = N'" + currUser + "') AND (Users.password = N'" + currPassword + "')" }; reader = cmd.ExecuteReader(); reader.Read(); Debug.Print(String.Format("1{0}1", reader["login"])); Debug.Print(String.Format("1{0}1", currUser)); if (reader["login"].ToString().TrimEnd() == currUser) { swSender.WriteLine("1"); swSender.Flush(); // Add the user to the hash tables and start listening for messages from him ChatServer.AddUser(tcpClient, currUser); } else { swSender.WriteLine("0|Wrong username or password."); swSender.Flush(); CloseConnection(); } connection.Close(); cmd.Dispose(); // 1 means connected successfully } } else { CloseConnection(); return; } try { // Keep waiting for a message from the user while ((strResponse = srReceiver.ReadLine()) != "") { // If it's invalid, remove the user if (strResponse == null) { ChatServer.RemoveUser(tcpClient); } else { // Otherwise send the message to all the other users ChatServer.SendMessage(currUser, strResponse); } } } catch { // If anything went wrong with this user, disconnect him ChatServer.RemoveUser(tcpClient); } }
// Occures when a new client is accepted private void AcceptClient() { srReceiver = new System.IO.StreamReader(tcpClient.GetStream()); swSender = new System.IO.StreamWriter(tcpClient.GetStream()); // Read the account information from the client currUser = srReceiver.ReadLine(); // We got a response from the client if (currUser != "") { // Store the user name in the hash table if (ChatServer.htUsers.Contains(currUser) == true) { // 0 means not connected swSender.WriteLine("0|This username already exists."); swSender.Flush(); CloseConnection(); return; } else if (currUser == "Administrator") { // 0 means not connected swSender.WriteLine("0|This username is reserved."); swSender.Flush(); CloseConnection(); return; } else { // 1 means connected successfully swSender.WriteLine("1"); swSender.Flush(); // Add the user to the hash tables and start listening for messages from him ChatServer.AddUser(tcpClient, currUser); } } else { CloseConnection(); return; } try { // Keep waiting for a message from the user while ((strResponse = srReceiver.ReadLine()) != "") { // If it's invalid, remove the user if (strResponse == null) { ChatServer.RemoveUser(tcpClient); } else { // Otherwise send the message to all the other users ChatServer.SendMessage(currUser, strResponse); } } } catch { // If anything went wrong with this user, disconnect him ChatServer.RemoveUser(tcpClient); } }
// Occures when a new client is accepted private void AcceptClient() { srReceiver = new System.IO.StreamReader(tcpClient.GetStream()); swSender = new System.IO.StreamWriter(tcpClient.GetStream()); // Read the account information from the client currUser = srReceiver.ReadLine(); // We got a response from the client if (currUser != "") { // Store the user name in the hash table if (ChatServer.htUsers.Contains(currUser) == true) { // 0 means not connected swSender.WriteLine("0\"This username already exists."); swSender.Flush(); CloseConnection(); return; } else if (currUser == "Administrator") { // 0 means not connected swSender.WriteLine("0\"This username is reserved."); swSender.Flush(); CloseConnection(); return; } else if (currUser.IndexOf("\"") >= 0) { // 0 means not connected swSender.WriteLine("0\"The character \" is not allowed."); swSender.Flush(); CloseConnection(); return; } else { // 1 means connected successfully swSender.WriteLine("1"); swSender.Flush(); // Add the user to the hash tables and start listening for messages from him ChatServer.AddUser(tcpClient, currUser); } } else { CloseConnection(); return; } try { Thread.Sleep(2000); String[] allUsers = new String[ChatServer.htConnections.Count]; ChatServer.htConnections.Values.CopyTo(allUsers, 0); string addUserRequest = "\"2"; for (int i = 0; i < allUsers.Length; i++) { // Try sending a message to each try { // If the message is blank or the connection is null, break out if (tcpClient == null || allUsers[i] == currUser) { continue; } // Send the message to the current user in the loop addUserRequest += "\"" + allUsers[i]; } catch // If there was a problem, the user is not there anymore, remove him { ChatServer.RemoveUser(tcpClient); } } swSender.WriteLine(addUserRequest); swSender.Flush(); // Keep waiting for a message from the user while (ChatServer.ServRunning && tcpClient.Connected) { if (tcpClient.Available > 0) { strResponse = srReceiver.ReadLine(); // If it's invalid, remove the user if (strResponse == null) { ChatServer.RemoveUser(tcpClient); } else { // Otherwise send the message to all the other users String[] tokens = strResponse.Split('\"'); switch (tokens[0]) { case "": switch (tokens[1]) { case "1": ChatServer.SendBroadcastMessage("\"1\"" + currUser + ": " + tokens[2]); break; case "3": ChatServer.RemoveUser(tcpClient); return; } break; default: switch (tokens[1]) { case "1": ChatServer.SendPrivateMessage(currUser, tokens[0], currUser + "\"1\"" + tokens[2]); break; case "4": ChatServer.SendPrivateMessage(currUser, tokens[0], currUser + "\"4\"" + tokens[2] + "\"" + tokens[3] + "\"" + tokens[4] + "\"" + tokens[5] + "\"" + tokens[6]); break; case "5": ChatServer.SendPrivateMessage(currUser, tokens[0], currUser + "\"5\"" + tokens[2] + "\"" + tokens[3] + "\"" + tokens[4]); break; case "7": ChatServer.SendPrivateMessage(currUser, tokens[0], currUser + "\"7"); break; case "o": ChatServer.SendPrivateMessage(currUser, tokens[0], currUser + "\"o\"" + tokens[2] + "\"" + tokens[3] + "\"" + tokens[4] + "\"" + tokens[5]); break; case "O": ChatServer.SendPrivateMessage(currUser, tokens[0], currUser + "\"O\"" + tokens[2] + "\"" + tokens[3] + "\"" + tokens[4]); break; } break; } } } else { Thread.Sleep(50); } } } catch { // If anything went wrong with this user, disconnect him } ChatServer.RemoveUser(tcpClient); try { tcpClient.Close(); } catch { } }