public class NetManager : Singletoln<NetManager>
{
Socket socket;
byte[] data=new byte[1024];
public void InitContentSrvet()
{
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//异步尝试连接服务器
socket.BeginConnect("127.0.0.1",666,OnConnect,null);
}
private void OnConnect(IAsyncResult ar)
{
Debug.Log("连接成功");
try
{
//挂起连接 连接结束 没有返回值
socket.EndConnect(ar);
socket.BeginReceive(data,0,data.Length,SocketFlags.None,OnReceIve,null);
}
catch (Exception ex)
{
Debug.LogError(ex);
}
}
private void OnReceIve(IAsyncResult ar)
{
try
{
}
catch (Exception ex)
{
throw;
}
}
/// <summary>
/// 客户端发送服务器消息的方法
/// </summary>
public void OnSendServer(int id, byte[] data)
{
//把消息号和内容 拼接成 byte[] 字节流
byte[] enddata = new byte[0];
enddata=enddata.Concat(BitConverter.GetBytes(id).Concat(data)).ToArray();
socket.BeginSend(enddata,0,enddata.Length,SocketFlags.None,OnSendCell,null);
}
private void OnSendCell(IAsyncResult ar)
{
socket.EndSend(ar);
}