1
0
Fork 0

Add Server and client

This commit is contained in:
MrDev023 2016-06-22 21:45:43 +02:00
parent 3d7c9e3f7f
commit 6258438d44
262 changed files with 2661 additions and 0 deletions

View file

@ -0,0 +1,60 @@
using System;
using UnityEngine;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Threading;
class Client
{
private UdpClient client;
private IPEndPoint ep;
private Thread receiveThread;
private volatile Boolean connected = false;
public Client(String ip,int port)
{
ep = new IPEndPoint(IPAddress.Parse(ip), port);
client = new UdpClient();
receiveThread = new Thread(new ThreadStart(loop));
Register.registerClass();
}
public void connect()
{
client.Connect(ep);
connected = true;
receiveThread.Start();
}
public void loop()
{
while (connected)
{
byte[] data = client.Receive(ref ep);
DataBuffer dataBuffer = new DataBuffer(data);
int id = dataBuffer.getInt();
IPacket packet = (IPacket)Register.instantiate(id);
packet.read(dataBuffer);
packet.manage(data, this);
}
}
public void send(IPacket packet)
{
DataBuffer data = new DataBuffer();
packet.write(data);
client.Send(data.getData(), data.getData().Length);
}
public void disconnect()
{
client.Close();
connected = false;
}
}