Here\'s what I have so far Client side: static void Main(string[] args) { string
ID: 3828828 • Letter: H
Question
Here's what I have so far Client side:
static void Main(string[] args)
{
string input;
IPEndPoint ipep;
IPHostEntry localHost = Dns.GetHostByName(Dns.GetHostName));
Console.WriteLine("Input the server IP Address [" + localHost);
input = Console.ReadLine();
if (input.Length < 1)
ipep = new IPEndPoint(localHost.AddressList[0], 9050);
else
ipep = new IPEndPoint(IPAddress.Parse(input), 9050);
//TcpClient client = new TcpClient("localhost", 9050);
//TcpClient client = new TcpClient(ipep);
Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
client.Connect(ipep);
//NetworkStream stream = client.GetStream();
NetworksStream stream = new NetworkStream(client);
StreamReader reader = new StreamReader(stream);
StreamWriter writer = new StreamWriter(stream);
input = reader.ReadLine();
Console.WriteLine(input);
String line = null;
do
{
Console.Write("Enter Message for server Enter to Stop: ");
line = Console.ReadLine();
writer.WriteLine(line);
writer.Flush();
if (line.Length != 0)
{
line = "Echo: " + reader.ReadLine();
Console.WriteLine(line);
}
Here's what I have for Server side:
static void Main(string[] args)
{
/*
const int bufSize = 1024 * 4;
string input;
String output;
*/
IPHostEntry serverhost = Dns.GetHostByName(Dns.GetHostName());
foreach (IPAddress address in serverhost.AddressList)
{
Console.WriteLine("Server Address: {0}", address.ToString());
}
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 9050);
TCPListener server = new TCPListener(IPAddress.Any, 9050);
server.Start();
Console.WriteLine("Wating for client...");
TcpClient client = server.AcceptTCPClient();
Console.WriteLine("Connected with a client");
NewtorkStream stream = client.GetStream();
StreamReader reader = new StreamReader(stream);
StreamWriter writer = new StreamWriter(stream);
writer.WriteLine("This is my test server");
writer.Flush();
String line = null;
while((line = reader.ReadLine()).Length !=0)
{
Console.WriteLine(line);
writer.WriteLine(line);
writer.Flush();
}
client.Close();
server.Stop();
}
}
}
How do I add in C# Client/Server
1) Math: Client – Type an integer math question from console, like “3+4” or “10-5”; Server – Provide a solution to Client side, like “7” or “5”. Hit [Enter] or type “exit” to quit the programs.
2) Password: Server – Request password before providing any service to Client side; after 3 tries the server will close the connection.
Please show work. Thanks.
Explanation / Answer
static void Main(string[] args)
{
string input;
IPEndPoint ipep;
IPHostEntry localHost = Dns.GetHostByName(Dns.GetHostName));
Console.WriteLine("Input the server IP Address [" + localHost);
input = Console.ReadLine();
if (input.Length < 1)
ipep = new IPEndPoint(localHost.AddressList[0], 9050);
else
ipep = new IPEndPoint(IPAddress.Parse(input), 9050);
//TcpClient client = new TcpClient("localhost", 9050);
//TcpClient client = new TcpClient(ipep);
Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
client.Connect(ipep);
//NetworkStream stream = client.GetStream();
NetworksStream stream = new NetworkStream(client);
StreamReader reader = new StreamReader(stream);
StreamWriter writer = new StreamWriter(stream);
input = reader.ReadLine();
Console.WriteLine(input);
String line = null;
do
{
Console.Write("Enter Message for server Enter to Stop: ");
line = Console.ReadLine();
writer.WriteLine(line);
writer.Flush();
if (line.Length != 0)
{
line = "Echo: " + reader.ReadLine();
Console.WriteLine(line);
}
Here's what I have for Server side:
static void Main(string[] args)
{
/*
const int bufSize = 1024 * 4;
string input;
String output;
*/
IPHostEntry serverhost = Dns.GetHostByName(Dns.GetHostName());
foreach (IPAddress address in serverhost.AddressList)
{
Console.WriteLine("Server Address: {0}", address.ToString());
}
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 9050);
TCPListener server = new TCPListener(IPAddress.Any, 9050);
server.Start();
Console.WriteLine("Wating for client...");
TcpClient client = server.AcceptTCPClient();
Console.WriteLine("Connected with a client");
NewtorkStream stream = client.GetStream();
StreamReader reader = new StreamReader(stream);
StreamWriter writer = new StreamWriter(stream);
writer.WriteLine("This is my test server");
writer.Flush();
String line = null;
while((line = reader.ReadLine()).Length !=0)
{
Console.WriteLine(line);
writer.WriteLine(line);
writer.Flush();
}
client.Close();
server.Stop();
}
}