首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >等待网络连接

等待网络连接
EN

Stack Overflow用户
提问于 2014-04-24 14:51:17
回答 1查看 2.4K关注 0票数 0

我试图创建一个程序,以便从网络上的另一台计算机发送和接收字符串。通过程序将只有一对独特的计算机连接在一起。除了第一次连接之外,它大部分都已经完成并工作得很完美。只有当两台计算机同时打开程序时,才能建立第一个连接。因为另一台计算机上的服务器不会运行,因此连接将被拒绝。以下是代码:

代码语言:javascript
复制
public MultiplayerState2(Game1 game)
    {
        this.game = game;
        localIp = GetLocalIP();


        server = new TcpListener(IPAddress.Parse(localIp), localPort);


        server.Start();

        networkingThread = new Thread(getData);
        networkingThread.Start();

        clientThread = new Thread(connectClient);
        clientThread.Name = "Connect Client";
        clientThread.Start();
    }

    void connectClient()
    {
        while (client == null)
        {

            try
            {
                client = new TcpClient(remoteIp, remotePort);
                Console.WriteLine("Connected");
                clientThread.Abort();
            }
            catch
            {
                Console.WriteLine("Waiting for partner");

            }
        }

    }

在这里,connectClient应该等待计算机的连接。但是在输出时,我得到的唯一东西是waiting for partner。这是等待连接的正确方式吗?如果是的话,为什么不起作用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-30 23:36:00

TcpClient构造函数尝试连接到侦听指定端口的服务器。但是这个过程有1分钟的超时时间。如果连接在1分钟内没有成功,它将被关闭并引发异常;因此,您将得到异常。

这是尝试连接到服务器的唯一方法。唯一可以添加的是使线程休眠一段时间,比如10秒左右(取决于您的上下文)。

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

https://stackoverflow.com/questions/23272413

复制
相关文章

相似问题

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