小编Ste*_*ter的帖子

如何修复错误"通常只允许使用每个套接字地址(协议/网络地址/端口)"?

我做了很多谷歌搜索,但我的问题没有太多运气.我是网络编程的新手并且正在努力学习,我试图建立一个简单的服务器和客户端进行通信(按照这里的在线教程 - > http://tech.pro/tutorial/704/csharp-tutorial- simple-threaded-tcp-server)

我遇到的问题是我一直得到异常"当尝试在服务器上启动TcpListener时,通常只允许使用每个套接字地址(协议/网络地址/端口)".

我已经尝试禁用我的防火墙,更改要使用的端口,移动变量但无效(客户端工作正常,但它显然无法找到服务器,因为我无法启动它).

我已经看到了描述Socket.Poll()使用的解决方案,但由于我只使用TcpListener对象,所以我不知道如何使用Poll函数.

我的代码:

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

namespace ServerTutorial {
class Server {
    private readonly Thread m_listenThread;

    public Server() {
        m_listenThread = new Thread(new ThreadStart(ListenForClients));
        m_listenThread.Start();
    }

    public void ListenForClients() {
        var listener = new TcpListener(IPAddress.Any, 3000);
        listener.Start();

        while (true) {
            //Blocks until a client has connected to the server
            TcpClient client = listener.AcceptTcpClient();

            //Send a message to the client
            var encoder = …
Run Code Online (Sandbox Code Playgroud)

c# networking tcplistener exception

39
推荐指数
2
解决办法
9万
查看次数

等待Console.ReadLine()

我目前正在构建一个异步控制台应用程序,我在其中创建了类来处理应用程序的不同区域.

我创建了一个InputHandler类,我设想它将等待Console.ReadLine()输入.但是,你不能等待这样的功能(因为它不是异步),我目前的解决方案是:

private async Task<string> GetInputAsync() {
    return Task.Run(() => Console.ReadLine())
}
Run Code Online (Sandbox Code Playgroud)

哪个运行得很好.但是,我的(有限的)理解是调用Task.Run将触发一个新的(并行?)线程.这违背了异步方法的目的,因为新线程现在被阻塞,直到Readline()返回正确?

我知道线程是一种昂贵的资源,所以我觉得非常浪费和hacky这样做.我也试过Console.In.ReadLineAsync(),但它显然是马车?(好像挂了).

c# console asynchronous async-await

5
推荐指数
1
解决办法
6672
查看次数

如何按列表使用的对象内的元素对列表进行排序?

我正在做一个课程,其中一部分涉及我必须在我的游戏中有一个工作记分牌,但是,我需要一种方法来通过score.score对Score对象列表进行排序.由于我的Score对象包含玩家名称以及他们达到的等级.

我在编程方面不是很有经验,并且已经做了不到一年的时间,我从搜索中找到的所有人都在谈论lambda或IComparable,这两者我都不知道或者如何使用和MSDN没有似乎让我很容易理解:(

我把头发拉到这里,任何帮助都会很棒!

在伪所有我需要的是:

List<Score> scores;
// Load in scores
scores.Sort(//sort by score.actualScore)
Run Code Online (Sandbox Code Playgroud)

因此,当添加新分数时,我可以在列表中添加和删除正确的位置.

c# sorting list

2
推荐指数
1
解决办法
103
查看次数

你怎么称呼一个从未打算在C#中实例化的类?

你怎么称呼一个从未打算在C#中实例化的类?

例如,我将所有类文件放在一个名为Objects的文件夹中,但是,现在我想要一个只包含控制其他对象使用的静态方法的类,但是它永远不会被实例化,我不知道在哪里把它放在我的文件结构或什么叫它!

非常感谢!

c# static class

0
推荐指数
1
解决办法
520
查看次数

如何在C#中创建相对于用户文档的文件目录?

我正在尝试在XNA中创建一个保存文件目录,我有一个XML序列化器设置来存储游戏的分数,但是当游戏第一次运行时,我希望它在用户文档中创建一个名为SaveData的文件夹中的文件.我可以创建它的XML文件,但我不知道如何在用户文档中创建它,因为每次用户名都不同?

所以我的问题是如何保存相对于任何用户名的文档?

c# file save

0
推荐指数
1
解决办法
80
查看次数