首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单TcpListener悬挂

简单TcpListener悬挂
EN

Stack Overflow用户
提问于 2013-12-05 20:12:36
回答 1查看 610关注 0票数 0

下面是我正在尝试的代码:(这只是为了学习TCP是如何工作的。)在我的电脑上:

代码语言:javascript
复制
listener = new TcpListener(IPAddress.Any, 3000);
listener.Start();
using (TcpClient client = listener.AcceptTcpClient())
...

在服务器上的asp.net按钮的事件处理程序中:

代码语言:javascript
复制
using (var wc = new MyWebClient())
{
    byte[] received = wc.UploadData("http://my ip here:3000", new byte[] { 1 });
    Label1.Text = Encoding.UTF8.GetString(received);
}

我禁用所有防火墙,在我的PC上运行第一个代码,然后单击页面的按钮(在我的浏览器中)来运行第二个代码。

第一个只是等待它的最后一行。为什么?它应该收到一个请求。

如果有更好的方式来接收个人电脑上的请求(例如,网页),我想听听它。

编辑

MyWebClient只是一个具有有限超时的WebClient

代码语言:javascript
复制
class MyWebClient : WebClient
{
    protected override WebRequest GetWebRequest(Uri uri)
    {
        WebRequest request = base.GetWebRequest(uri);
        request.Timeout = 10 * 1000;
        return request;
    }
}
EN

回答 1

Stack Overflow用户

发布于 2022-11-20 22:38:38

通过将TcpListener.Start()封装在try中,我能够得到一个异常。(net60)

重新启动hns服务,我当时能够运行,没有问题。

代码语言:javascript
复制
net stop hns
net start hns

我不会说这是一个解决办法,但它解释了一些关于地下结构的事情。我希望程序能够保存套接字,而不是服务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20409703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档