//client
using System.Net ;
using System.Net .Sockets ;
string serverreciver;
string inputuser;
IPEndPoint ipep1 = new IPEndPoint( IPAddress.Parse ( "127.0.0.1" ) , 5050 ) ;
Socket serv = new Socket( AddressFamily.InterNetwork , SocketType.Stream , ProtocolType.Tcp ) ;
try
{ serv.Connect ( ipep1) ; }
catch( SocketException se)
{
Console.WriteLine ( "Unable to connect with server.." ) ;
Console.WriteLine ( se.ToString ( ) ) ;
return ;
}
NetworkStream ns1 = new NetworkStream( serv) ;
StreamReader sr1 = new StreamReader( ns1) ;
StreamWriter sw1 = new StreamWriter( ns1) ;
serverreciver = sr1.ReadLine ( ) ;
Console.WriteLine ( serverreciver) ;
while ( true )
{
inputuser = Console.ReadLine ( ) ;
if ( inputuser == "exit" )
break ;
sw1.WriteLine ( inputuser) ;
sw1.Flush ( ) ;
serverreciver = sr1.ReadLine ( ) ;
Console.WriteLine ( serverreciver) ;
}
Console.WriteLine ( "Dissconnected from server....." ) ;
sw1.Close ( ) ;
sr1.Close ( ) ;
ns1.Close ( ) ;
serv.Shutdown ( SocketShutdown.Both ) ;
serv.Close ( ) ;
Ly9jbGllbnQKdXNpbmcgU3lzdGVtLk5ldDsKdXNpbmcgU3lzdGVtLk5ldC5Tb2NrZXRzOwoKc3RyaW5nIHNlcnZlcnJlY2l2ZXI7CnN0cmluZyBpbnB1dHVzZXI7CklQRW5kUG9pbnQgaXBlcDEgPSBuZXcgSVBFbmRQb2ludChJUEFkZHJlc3MuUGFyc2UoIjEyNy4wLjAuMSIpLCA1MDUwKTsKU29ja2V0IHNlcnYgPSBuZXcgU29ja2V0KEFkZHJlc3NGYW1pbHkuSW50ZXJOZXR3b3JrLCBTb2NrZXRUeXBlLlN0cmVhbSwgUHJvdG9jb2xUeXBlLlRjcCk7Cgp0cnkKeyBzZXJ2LkNvbm5lY3QoaXBlcDEpO30KY2F0Y2goU29ja2V0RXhjZXB0aW9uIHNlKQp7CiAgICBDb25zb2xlLldyaXRlTGluZSgiVW5hYmxlIHRvIGNvbm5lY3Qgd2l0aCBzZXJ2ZXIuLiIpOwogICAgQ29uc29sZS5Xcml0ZUxpbmUoc2UuVG9TdHJpbmcoKSk7CiAgICByZXR1cm47Cn0KCk5ldHdvcmtTdHJlYW0gbnMxID0gbmV3IE5ldHdvcmtTdHJlYW0oc2Vydik7ClN0cmVhbVJlYWRlciBzcjEgPSBuZXcgU3RyZWFtUmVhZGVyKG5zMSk7ClN0cmVhbVdyaXRlciBzdzEgPSBuZXcgU3RyZWFtV3JpdGVyKG5zMSk7CgpzZXJ2ZXJyZWNpdmVyID0gc3IxLlJlYWRMaW5lKCk7CkNvbnNvbGUuV3JpdGVMaW5lKHNlcnZlcnJlY2l2ZXIpOwoKd2hpbGUgKHRydWUpCnsKICAgIGlucHV0dXNlciA9IENvbnNvbGUuUmVhZExpbmUoKTsKICAgIGlmIChpbnB1dHVzZXIgPT0gImV4aXQiKQogICAgICAgIGJyZWFrOwogICAgc3cxLldyaXRlTGluZShpbnB1dHVzZXIpOwogICAgc3cxLkZsdXNoKCk7CiAgICBzZXJ2ZXJyZWNpdmVyID0gc3IxLlJlYWRMaW5lKCk7CiAgICBDb25zb2xlLldyaXRlTGluZShzZXJ2ZXJyZWNpdmVyKTsKfQpDb25zb2xlLldyaXRlTGluZSgiRGlzc2Nvbm5lY3RlZCBmcm9tIHNlcnZlci4uLi4uIik7CgpzdzEuQ2xvc2UoKTsKc3IxLkNsb3NlKCk7Cm5zMS5DbG9zZSgpOwpzZXJ2LlNodXRkb3duKFNvY2tldFNodXRkb3duLkJvdGgpOwpzZXJ2LkNsb3NlKCk7