ServerController server; //This creates a server object //object objectLock = new object(); /* event EventHandler IFrameFetcher.FrameFetched { add { lock (objectLock) { FrameFetched += value; } } remove { lock (objectLock) { FrameFetched -= value; } } } */ NetworkFetcher()//we don't want it to start until we tell it to start, //therefore, start() is outside the constructor { server = new ServerController();//Here the server object is initialized }
static void Main(string[] args) { // stream = new FileStream("C:\\video.264", FileMode.Create); //writ = new BinaryWriter(stream); initFrameConverter(width, height); models_names = new string[4]; models_names[0] = @"intel_cpu"; models_names[1] = @"asus_mobo"; models_names[2] = @"nvidia_gpu"; models_names[3] = @"cpu_fan"; ServerController server = new ServerController(); //for every delegate you want to function server.registerDelegate(CAPIStreamCommon.PacketType.VIDEO_FRAME, new ImageWork(processFrame)); server.registerDelegate(CAPIStreamCommon.PacketType.GESTURE_DOWN, new ImageWork(handleGesture)); offload_client.registerDelegate(CAPIStreamCommon.PacketType.REGISTER_TASK_REPLY, new PacketProcess(configureOffload)); offload_client = new ConnectionControllerClient(ConnectionType.TCP, "192.168.82.9", 2275); /* register for task with offload server */ if (offload_client.isConfigured()) { String s = "intel_demo_task:raw:tcp"; //send register task offload_client.sendDataPacket(new SocketData(PacketType.REGISTER_TASK, 1280, 720, 0, Encoding.ASCII.GetBytes(s))); offload_client.recieveDataPacketAsync(); } //Begin accepting connections server.startServer(ConnectionType.TCP); }