📄 echoservertcp.cs
字号:
using System;
using System.Net;
using System.Net.Sockets;
class EchoServerTcp
{
public static void Main()
{
//产生TcpListener对象,侦听通信端口7
TcpListener myListener = new TcpListener(7);
try
{
//让TcpListener对象开始侦听用户端的连接
myListener.Start();
}
catch(SocketException se)
{
//若无法成功侦听,则显示出错误信息,并退出程序
Console.WriteLine("Could not listen to specified interface!!");
return;
}
//显示Echo服务器成功启动的信息
Console.WriteLine("Echo Server has been created successfully!!");
Console.WriteLine("Waiting for client connection..............");
while(true)
{
//当侦听到有用户端连接时,调用Accept以完成连接
Socket s = myListener.AcceptSocket();
//显示用户端Socket的相关信息
PrintClientInfo((IPEndPoint)s.RemoteEndPoint);
int bytes = 0;
Byte[] RecvBytes = new Byte[256];
while(true)
{
try
{
//读取用户端所送出来的数据
bytes = s.Receive(RecvBytes,RecvBytes.Length,0);
}
catch(SocketException se)
{
Console.WriteLine("An error occurs while reading data!!");
break;
}
//若读取失败则退出循环
if (bytes == 0) break;
try
{
//将所读取到的数据RecvBytes原封不动的送回
s.Send(RecvBytes,bytes,0);
}
catch(SocketException se)
{
Console.WriteLine("An error occurs while sending data!!");
break;
}
}
//关闭与用户端的连接
s.Close();
Console.WriteLine("Client is disconnect......");
}
}
//显示用户端Socket信息的method
public static void PrintClientInfo(IPEndPoint clientEP)
{
//获取用户端Socket的IP地址
IPAddress clientIP = clientEP.Address;
Console.WriteLine("We have a client connected from IP:" +clientIP.ToString());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -