📄 stateobject.cs
字号:
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Text;
namespace Game2DServer
{
/// <summary>
/// StateObject 的摘要说明。
/// </summary>
public class StateObject
{
public Socket workSocket=null;
public const int BufferSize=1024;
public byte[] buffer=new byte[BufferSize];
public StringBuilder sb=new StringBuilder();
public StateObject()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
}
}
/* 以下内容为异步用
* private void AcceptCallback(IAsyncResult ar)
{
Done.Set();//设为终止
Socket listener=(Socket) ar.AsyncState; //获取状态
sock1=listener.EndAccept(ar);
StateObject state=new StateObject();
state.workSocket=sock1;
this.richTextBox1.AppendText("与客户建立连接.\r\n");
try
{
byte[] byteData=System.Text.Encoding.BigEndianUnicode.GetBytes("准备完毕,可以通话\r\n");
sock1.BeginSend(byteData,0,byteData.Length,0,new AsyncCallback(SendCallback),sock1);
}
catch(Exception err)
{
this.richTextBox1.AppendText(err.Message);
}
Thread thread=new Thread(new ThreadStart(rec));
thread.Start();
}
private void SendCallback(IAsyncResult ar)
{
try
{
sock1=(Socket)ar.AsyncState;
int bytesSent=sock1.EndSend(ar);
}
catch{}
}
private void rec()
{
StateObject state=new StateObject();
state.workSocket=sock1;
sock1.BeginReceive(state.buffer,0,StateObject.BufferSize,0,new AsyncCallback(ReadCallback),state);
}
private void ReadCallback(IAsyncResult ar)
{
StateObject state=(StateObject)ar.AsyncState;
Socket tt=state.workSocket;
int bytesRead=sock1.EndReceive(ar);
state.sb.Append(System.Text.Encoding.BigEndianUnicode.GetString(state.buffer,0,bytesRead));
string content=state.sb.ToString();
state.sb.Remove(0,content.Length);
this.richTextBox1.AppendText(content+"\r\n");
tt.BeginReceive(state.buffer,0,StateObject.BufferSize,0,new AsyncCallback(ReadCallback),state);
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -