小编iTE*_*Egg的帖子

C#ASCII或Unicode

嗨,我是编程和网络开发的初学者.我有一个关于ASCII和Unicode编码的问题.

在msdn和其他Web示例中执行以下操作:

byte[] byteData = Encoding.ASCII.GetBytes(data);
Run Code Online (Sandbox Code Playgroud)

这是因为这些代码示例是旧的吗?不应该是:

byte[] byteData = Encoding.Unicode.GetBytes(data);
Run Code Online (Sandbox Code Playgroud)

感谢您的输入!

c# unicode ascii

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

你调用的对象是空的

我有一节课:

public class Cell
{
    public enum cellState
    {
        WATER,
        SCAN,
        SHIPUNIT,
        SHOT,
        HIT
    }

    public Cell()
    {
        currentCell = cellState.WATER;
        MessageBox.Show(currentCell.ToString());
    }

    public cellState currentCell { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后我尝试在以下类中使用它:

public class NietzscheBattleshipsGameModel
{
    private byte MAXCOL = 10;
    private byte MAXROW = 10;

    public Cell[,] HomeArray;

    private Cell[,] AwayArray;

    public NietzscheBattleshipsGameModel()
    {
        HomeArray = new Cell [MAXCOL, MAXROW];

        AwayArray = new Cell [MAXCOL, MAXROW];
    }


    public string alphaCoords(Int32 x)
    {
        if (x < 0 || x > …
Run Code Online (Sandbox Code Playgroud)

.net c# arrays nullreferenceexception

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

Java ServerSocketChannel SocketChannel(回调)

我正在努力学习Java.我想实现一个简单的网络连接4游戏以及聊天功能.

我希望我的网络逻辑是非阻塞的,所以经过多次研究后我发现SocketChannel是我重新考虑我的需求之后的事情.

没有意义的是SocketChannels中缺少CallBack函数.就像在C#中找到的一样.

我对这个时间的查询是:如何将收到的数据传递给聊天或游戏表单(JFrame)?

一些指导是最受欢迎的.

java socketchannel

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

C#enum添加

问候,我有以下枚举:

    public enum LegalShipTypes : byte
    {
        Frigate = 1,
        Cruiser = 2,
        Destroyer = 3,
        Submarine = 4,
        AircraftCarrier = 5
    }
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法以任何方式获得枚举的总价值.例如,这将导致(1 + 2 + 3 + 4 + 5)= 15.

谢谢.

c# enums

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

C#异步套接字BeginSend EndReceive

我是编程新手,我对异步套接字编程感到困惑.

例如,假设我有两个BeginSends,一个接一个.第一个发送一百万个字符,第二个发送只有64个字符.

由于异步性质不会BeginSend在第一个完成之前完成第二个?

如果是这样,我怎么能告诉收到的数据EndRecieve,属于哪个消息?

c# sockets

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

C#将var name命名为string

问候,你能帮忙吗?我需要以字符串格式获取变量(名称).例如下面我需要将"test"显示为字符串.

        int test = 69;
        //below does not work
        MessageBox.Show((string)test);
        // below works but displays the int value
        MessageBox.Show(test.ToString());
Run Code Online (Sandbox Code Playgroud)

感谢您的时间.

我有一个枚举:

    public enum ShipOrientation
    {
        North,
        East,
        South,
        West
    }
Run Code Online (Sandbox Code Playgroud)

我根据方向进行一些处理,如果是int,则应用enum North方向.

c#

3
推荐指数
1
解决办法
555
查看次数

WinForms 应用程序窗体在音频播放时“抖动”

我有一个正在开发的 C# 游戏程序。它使用声音样本和 winsock。

当我测试运行游戏时,大部分音频都可以正常工作,但有时如果它是按顺序播放多个样本,则应用程序表格会稍微晃动一下,然后又回到原来的位置。

我如何调试这个或以可管理的方式向你们展示它?我相信没有人会因为害怕病毒攻击而想要整个应用程序代码。

请指导我..

编辑:我无法确定产生此结果的任何代码部分。它就是这样,我无法解释。

编辑:没有 x/y 位置没有改变。窗口像晃动几个像素,然后回到晃动之前的位置。

if (audio)
{
    Stream stream;
    SoundPlayer player;

    stream = Properties.Resources.ResourceManager.GetStream("_home");
    player = new System.Media.SoundPlayer(stream);
    player.PlaySync();
    player.Dispose();

    string ShipID = fireResult.DestroyedShipType.ToString();
    stream = Properties.Resources.ResourceManager.GetStream("_" + ShipID);
    player = new System.Media.SoundPlayer(stream);
    player.PlaySync();
    player.Dispose();

    stream = Properties.Resources.ResourceManager.GetStream("_destroyed");
    player = new System.Media.SoundPlayer(stream);
    player.PlaySync();
    player.Dispose();
}
Run Code Online (Sandbox Code Playgroud)

你能在上面的代码中看到任何会产生这种震动的东西吗?

编辑:是的,代码正在执行: this.Invoke(new Action(delegate(){ ....})); 这会是吗?我该如何解决这个问题?

编辑:

           stream = Properties.Resources.ResourceManager.GetStream("_destroyed");
           player = new System.Media.SoundPlayer(stream);
           player.PlaySync();
           player.Dispose();
           stream.Dispose();
Run Code Online (Sandbox Code Playgroud)

如果取出上面的代码,那么它工作正常!有任何想法吗?

编辑:我用以下内容替换了该行:

stream = Properties.Resources.ResourceManager.GetStream("_destroyed");
Run Code Online (Sandbox Code Playgroud)

到不同的文件名,但问题仍然存在,但至少不是音频文件已损坏。

编辑:MSN 当有人发送微调时?有点像,但只发生 2 或 3 …

c# shake winforms

3
推荐指数
1
解决办法
894
查看次数

从Java中的任务栏中删除JFrame

我做了一个快速的主题外观,但没有找到类似的东西.

我的查询是:如何在显示Windows任务栏时阻止子窗口出现?

java taskbar

3
推荐指数
2
解决办法
5244
查看次数

如何测试套接字异常处理代码?

我有以下代码:

try
{
  mainSocket = new Socket(AddressFamily.InterNetwork, 
    SocketType.Stream, ProtocolType.Tcp);
  IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Any, serverPort);
  mainSocket.Bind(ipEndPoint);
  mainSocket.Listen(MAX_CONNECTIONS);
  mainSocket.BeginAccept(new AsyncCallback(serverEndAccept), mainSocket);
  OnNetworkEvents eventArgs = 
    new OnNetworkEvents(true, "Listening for Connection");
  OnUpdateNetworkStatusMessage(this, eventArgs);
}
catch (SocketException e)
{
  // add code here
}
catch (ObjectDisposedException e)
{
  // add code here
}
Run Code Online (Sandbox Code Playgroud)

如果SocketException服务器一直在成功监听,我该如何测试代码呢?

.net c# unit-testing exception

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

C#void ReceiveData(IAsyncResult iar)

我希望对以下内容有所帮助.这与异步套接字有关.

来自发件人:

string stringData = "Welcome to my server server server";
byte[] message1 = Encoding.ASCII.GetBytes(stringData);

//MessageBox.Show(message1.Length.ToString());

client.BeginSend(message1, 0, message1.Length, SocketFlags.None, new AsyncCallback(SendData), client);
Run Code Online (Sandbox Code Playgroud)

在这里可以看到,可以找到message.length.

-

在客户端:

  Socket remote = (Socket)iar.AsyncState;
  int recv = remote.EndReceive(iar);
  string stringData = Encoding.ASCII.GetString(data, 0, recv);
Run Code Online (Sandbox Code Playgroud)

我的问题是有没有办法访问发送数据的实际长度,并根据该调用接收数据,直到收到完整的消息?

c# sockets iasyncresult

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