C# [.Net 2.0, 3.0, 3.5]
Server ja Client Tcp protokollalla.
Server
using System; using System.Net; using System.Net.Sockets; using System.Text; public class Tcp_Server { public static void Main() { int received; byte[] data = new byte[1024]; IPEndPoint ipep = new IPEndPoint(IPAddress.Any,9050); //osoite ja porttimääritys Socket MySocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); MySocket.Bind(ipep); MySocket.Listen(10); Console.WriteLine("Waiting for the client..."); Socket client = MySocket.Accept(); IPEndPoint clientep=(IPEndPoint)client.RemoteEndPoint; Console.WriteLine("Connected with {0} at port {1}",clientep.Address, clientep.Port); string Answer = "Ok"; byte[] AnswerByte = new byte[1024]; AnswerByte = Encoding.ASCII.GetBytes(Answer); string welcome = "Connected to Tcp_Server"; data = Encoding.ASCII.GetBytes(welcome); client.Send(data, data.Length, SocketFlags.None); while(true) { data = new byte[1024]; received = client.Receive(data); client.Send(AnswerByte,AnswerByte.Length,SocketFlags.None); if (received == 0) break; Console.WriteLine(Encoding.ASCII.GetString(data,0,received)); client.Send(data, recv, SocketFlags.None); } Console.WriteLine("Disconnected from {0}", clientep.Address); client.Close(); MySocket.Close(); } }
Client
using System; using System.Net; using System.Net.Sockets; using System.Text; public class Tcp_Client { public static void Main() { byte[] data = new byte[1024]; string input, stringData; IPEndPoint ipep = new IPEndPoint( IPAddress.Parse("127.0.0.1"), 9050); //osoite ja portti mihin yhdistetään Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); try { server.Connect(ipep); } catch (SocketException e) { Console.WriteLine("Unable to connect to server."); Console.WriteLine(e.ToString()); return; } int recv = server.Receive(data); stringData = Encoding.ASCII.GetString(data, 0, recv); Console.WriteLine(stringData); while(true) { input = Console.ReadLine(); if (input == "exit") break; server.Send(Encoding.ASCII.GetBytes(input)); data = new byte[1024]; recv = server.Receive(data); stringData = Encoding.ASCII.GetString(data, 0, recv); Console.WriteLine(stringData); } Console.WriteLine("Disconnecting from server..."); server.Shutdown(SocketShutdown.Both); server.Close(); } }
Aihe on jo aika vanha, joten et voi enää vastata siihen.