SocketServer 端應用程式
static void Main(string[] args)
{
IPAddress address = IPAddress.Parse("127.0.0.1");
IPEndPoint point = new IPEndPoint(address, 3000);
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
server.Bind(point);
server.Listen(3);
Socket client;
byte[] buffer = new byte[1024];
int i = 0;
string data;
Console.WriteLine("等待串連...");
if ((client = server.Accept()) != null)//進程等待
{
Console.WriteLine("使用者已串連...");
while (true)
{
if ((i = client.Receive(buffer)) != 0)//進程等待
{
data = System.Text.Encoding.UTF8.GetString(buffer, 0, i);
Console.WriteLine("收到的資訊為{0}", data);
Console.Write("請輸入回複資訊:");
string input = Console.ReadLine();
client.Send(System.Text.Encoding.UTF8.GetBytes(input));
}
}
}
Console.ReadLine();
}
//*************************8888
socketClient用戶端程式
static void Main(string[] args)
{
IPAddress address = IPAddress.Parse("127.0.0.1");
IPEndPoint point = new IPEndPoint(address, 3000);
Socket Client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
Client.Connect(point);//進程等待
Console.WriteLine("已串連到伺服器...");
byte[] buffer = new byte[1024];
string data = null;
while (true)
{
Console.Write("請輸入要發送的資訊:");
string input;
input = Console.ReadLine();
if (input == "exit")
break;
Client.Send(System.Text.Encoding.UTF8.GetBytes(input));
int i = 0;
i = Client.Receive(buffer);//進程等待
if (i > 0)
{
Console.Write("伺服器回複資訊:");
data = System.Text.Encoding.UTF8.GetString(buffer, 0, i);
Console.WriteLine(data);
}
}
Console.WriteLine("中斷連線...");
Client.Shutdown(SocketShutdown.Both);
Client.Close();
}