Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using System.Net.Sockets;
- using System.Net;
- using System.Collections;
- using System.IO;
- using System.Threading;
- namespace servidor
- {
- public partial class Servidor : Form
- {
- TcpListener ntpcListener;
- TcpClient ntcpClient = null;
- private Socket socket;
- public Servidor()
- {
- InitializeComponent();
- txtip.Text = GetLocalIPAddress();
- txtporto.Text = "23000";
- }
- public string gettime()
- {
- return string.Format("{0:HH:mm:ss tt}", DateTime.Now);
- }
- private void btnlogout_Click(object sender, EventArgs e)
- {
- this.Hide();
- Login este = new Login();
- este.Show();
- }
- private void btnlisten_Click(object sender, EventArgs e)
- {
- IPAddress ip;
- int porto;
- if (!IPAddress.TryParse(txtip.Text, out ip))
- {
- txtmsg.Text += gettime() + ": Ip Invalido\n";
- return;
- }
- if (!int.TryParse(txtporto.Text, out porto))
- {
- txtmsg.Text += gettime() + ": Porto Inválido\n";
- return;
- }
- ntpcListener = new TcpListener(ip, porto);
- ntpcListener.Start();
- txtmsg.Text += gettime() + ": Servidor à escuta\n";
- ntpcListener.BeginAcceptSocket(OnCompleteAcceptCliente, ntpcListener);
- }
- public void OnCompleteAcceptCliente(IAsyncResult iar)
- {
- TcpListener tcpl = (TcpListener)iar.AsyncState;
- ntcpClient = tcpl.EndAcceptTcpClient(iar);
- Thread th = new Thread(new ThreadStart(this.connected));
- th.Start();
- }
- public void connected()
- {
- Thread.Sleep(2000);
- if (this.InvokeRequired)
- {
- this.Invoke(new MethodInvoker(connected));
- StreamWriter writer = new StreamWriter(ntcpClient.GetStream());
- writer.AutoFlush = true;
- writer.WriteLine(gettime() + ":Cliente aceite...");
- return;
- }
- txtmsg.Text += gettime() + ":Cliente aceite...\n";
- }
- public static string GetLocalIPAddress()
- {
- var host = Dns.GetHostEntry(Dns.GetHostName());
- foreach (var ip in host.AddressList)
- {
- if (ip.AddressFamily == AddressFamily.InterNetwork)
- {
- return ip.ToString();
- }
- }
- throw new Exception("Local IP Address Not Found!");
- }
- private void btnsend_Click(object sender, EventArgs e)
- {
- enviar();
- }
- public void enviar()
- {
- StreamWriter writer = new StreamWriter(ntcpClient.GetStream());
- writer.AutoFlush = true;
- writer.WriteLine(gettime() + ":" + txtmsgsend.Text );
- this.txtmsg.Text += gettime() +":" + txtmsgsend.Text + "\n";
- txtmsgsend.Text = "";
- if (txtmsgsend.Text == "/clear")
- {
- txtmsg.Text = "";
- }
- receber();
- }
- public void receber()
- {
- StreamReader reader = new StreamReader(ntcpClient.GetStream());
- this.txtmsg.Text += gettime() + ":" + reader.ReadLine() + "\n";
- return;
- }
- private void txtmsgsend_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (e.KeyChar == (char)13)
- {
- enviar();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement