Most of network programming I do is Web/HTTP oriented. So it has been a while since I had to work with TCP and Socket programming directly. Yesterday I needed to write a quick TCP Server. C# and .NET made this really easy to do:
using System;using System.Text;using System.Net;using System.Net.Sockets;public class TCPServer{ private static int port = 8001; public static void Main() { IPAddress ipAddress = IPAddress.Any; TcpListener listener = new TcpListener(ipAddress, port); listener.Start(); Console.WriteLine("Server is running"); Console.WriteLine("Listening on port " + port); Console.WriteLine("Waiting for connections..."); while (true) { Socket s = listener.AcceptSocket(); Console.WriteLine("Connection accepted from " + s.RemoteEndPoint); byte[] b = new byte[65535]; int k = s.Receive(b); Console.WriteLine("Received:"); for (int i = 0; i < k; i++) Console.Write(Convert.ToChar(b[i])); ASCIIEncoding enc = new ASCIIEncoding(); s.Send(enc.GetBytes("Server responded")); Console.WriteLine("\nSent Response"); s.Close(); }}
Copyright © 2006-2008 Corey Goldberg
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.