public void connectoServer(String ip, Int32 port, String name, String gametype)
{
tcpserver.Connect(ip, port);
serverstream = tcpserver.GetStream();
writeStream(serverstream, name);
writeStream(serverstream, gametype);
string read = readStream(serverstream, 100);
string[] data = read.Split(';');
playerip = data[0];
clientport = int.Parse(data[1]);
acceptconnectionthread = new Thread(() =>
{
IPAddress ipAddress = IPAddress.Parse(playerip);
IPEndPoint localEndPoint = new IPEndPoint(ipAddress, clientport);
listener.Bind(localEndPoint);
listener.Listen(100);
while (true)
{
connectionDone.Reset();
listener.BeginAccept(
new AsyncCallback(AcceptCallback),
listener);
connectionDone.WaitOne();
}
});
listenconnectionthread = new Thread(() =>
{
while(true)
{
if (opponentsocket.Connected)
{
recieveDone.Reset();
StateObject state = new StateObject();
state.workSocket = opponentsocket;
opponentsocket.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0,
new AsyncCallback(ReadCallback), state);
recieveDone.WaitOne();
}
}
});
acceptconnectionthread.Start();
listenconnectionthread.Start();
}