相关疑难解决方法(0)

我如何让TcpListener接受多个连接并单独使用每个连接?

我有一个运行良好的SMTP侦听器,但只能接收一个连接.我的C#代码如下,我将其作为服务运行.我的目标是让它在服务器上运行并解析发送给它的多个smtp消息.

目前它解析第一条消息并停止工作.我怎样才能让它接受第2,第3,第4 ...... SMTP消息并像第一个那样处理它?

这是我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.Net;
using System.IO;  

namespace SMTP_Listener
{
    class Program
    {
        static void Main(string[] args)
        {


            TcpListener listener = new TcpListener(IPAddress.Any , 8000);
            TcpClient client;
            NetworkStream ns;

            listener.Start();

            Console.WriteLine("Awaiting connection...");
            client = listener.AcceptTcpClient();
            Console.WriteLine("Connection accepted!");

            ns = client.GetStream();

            using (StreamWriter writer = new StreamWriter(ns))
            {
                writer.WriteLine("220 localhost SMTP server ready.");
                writer.Flush();

                using (StreamReader reader = new StreamReader(ns))
                {
                    string response = reader.ReadLine();

                    if (!response.StartsWith("HELO") && !response.StartsWith("EHLO")) …
Run Code Online (Sandbox Code Playgroud)

.net c# smtp tcplistener

18
推荐指数
3
解决办法
4万
查看次数

标签 统计

.net ×1

c# ×1

smtp ×1

tcplistener ×1