7,765
社区成员
发帖
与我相关
我的任务
分享
static void Main(string[] args)
{
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
s.Bind(new System.Net.IPEndPoint(0, 6000));
s.Listen(1);
while (true)
{
try
{
Console.WriteLine("TCP服务,在监听6000端口。");
using (Socket c = s.Accept())
{
c.Send(System.Text.Encoding.Default.GetBytes("Hi\r\n"));
Console.WriteLine(string.Format("{0} 已连接。", c.RemoteEndPoint));
byte[] buff = new byte[10];
int recLen = c.Receive(buff);
string userCommand = "";
while (recLen > 0)
{
userCommand += System.Text.Encoding.Default.GetString(buff, 0, recLen);
Console.Write(System.Text.Encoding.Default.GetString(buff, 0, recLen));//打印信息
if (userCommand.IndexOf('\n') > 0 || userCommand.Length > 255)
{
c.Send(System.Text.Encoding.Default.GetBytes("你输入了:" + userCommand));//回显示信息
if (userCommand.ToLower().StartsWith("exit\r\n")) break; //接受exit命令并退出。
userCommand = "";
}
recLen = c.Receive(buff);//继续接收
}
Console.WriteLine(string.Format("\r\n{0} 已经退出。", c.RemoteEndPoint));
}
}
catch (Exception ex)
{
Console.WriteLine();
Console.WriteLine(ex.Message);
}
}
}