服务器部分用C#写的
首先是 游戏client
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Sockets;
using System.Collections;
namespace wsocketbydx
{
class GameClient
{
public static Hashtable allClient = new Hashtable();
public static List<string> ipList = new List<string>();
private TcpClient _client;
public string _clientIP;
public string _clientNick;
private byte[] data;
public GameClient(TcpClient client)
{
this._client = client;
this._clientIP = client.Client.RemoteEndPoint.ToString();
if (allClient.Count <= 2)
{
allClient.Add(this._clientIP, this);
ipList.Add(this._clientIP);
data = new byte[this._client.ReceiveBufferSize];
client.GetStream().BeginRead(data, 0, System.Convert.ToInt32(this._client.ReceiveBufferSize), RceiveMessage, null);
this.sendMessage("login success");
}
else
{
this.sendMessage("connect num is max,so connect failed");
}
}
public void RceiveMessage(IAsyncResult ar)
{
int bytesread;
try
{
lock (this._client.GetStream())
{
bytesread = this._client.GetStream().EndRead(ar);