嗨,我是编程和网络开发的初学者.我有一个关于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)
感谢您的输入!
我有一节课:
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) 我正在努力学习Java.我想实现一个简单的网络连接4游戏以及聊天功能.
我希望我的网络逻辑是非阻塞的,所以经过多次研究后我发现SocketChannel是我重新考虑我的需求之后的事情.
没有意义的是SocketChannels中缺少CallBack函数.就像在C#中找到的一样.
我对这个时间的查询是:如何将收到的数据传递给聊天或游戏表单(JFrame)?
一些指导是最受欢迎的.
问候,我有以下枚举:
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.
谢谢.
我是编程新手,我对异步套接字编程感到困惑.
例如,假设我有两个BeginSends,一个接一个.第一个发送一百万个字符,第二个发送只有64个字符.
由于异步性质不会BeginSend在第一个完成之前完成第二个?
如果是这样,我怎么能告诉收到的数据EndRecieve,属于哪个消息?
问候,你能帮忙吗?我需要以字符串格式获取变量(名称).例如下面我需要将"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# 游戏程序。它使用声音样本和 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 …
我做了一个快速的主题外观,但没有找到类似的东西.
我的查询是:如何在显示Windows任务栏时阻止子窗口出现?
我有以下代码:
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服务器一直在成功监听,我该如何测试代码呢?
我希望对以下内容有所帮助.这与异步套接字有关.
来自发件人:
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)
我的问题是有没有办法访问发送数据的实际长度,并根据该调用接收数据,直到收到完整的消息?