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.