亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? wc_serv.c

?? 網絡攝像頭的webserver
?? C
字號:
#include <stdio.h>#include <pthread.h>#include <string.h>#include <errno.h>#include <unistd.h>#include <stdlib.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <libxml/parser.h>#include "config.h"#define MODULE_THREAD#include "module.h"#include "wc_serv.h"#include "grab.h"#include "image.h"#include "configfile.h"#include "jpeg.h"#include "filter.h"#include "xmlhelp.h"#include "socket.h"#include "log.h"#define MODNAME "wc_serv"static int wc_load_config(struct wc_ctx *, xmlNodePtr);static void *wc_handle_conn(void *);char *name = MODNAME;char *version = VERSION;char *deps[] ={	"jpeg_comp",	"socket",	NULL};intinit(struct module_ctx *ctx){	int ret;	struct wc_ctx new_ctx, *wc_ctx;		ret = wc_load_config(&new_ctx, ctx->node);	if (ret)		return ret;		wc_ctx = ctx->custom = malloc(sizeof(*wc_ctx));	memcpy(wc_ctx, &new_ctx, sizeof(*wc_ctx));			ret = socket_listen(wc_ctx->port, 0);	if (ret == -1)	{		log_log(MODNAME, "Failed to open listen socket: %s\n", strerror(errno));		return -1;	}	wc_ctx->listen_fd = ret;	return 0;}void *thread(void *arg){	struct wc_ctx *ctx;	struct peer_ctx *peer;	int ret;		ctx = ((struct module_ctx *) arg)->custom;	for (;;)	{		peer = malloc(sizeof(*peer));		peer->ctx = arg;		ret = socket_accept_thread(ctx->listen_fd, &peer->peer, wc_handle_conn, peer);		if (ret == -1)		{			log_log(MODNAME, "accept() error: %s\n", strerror(errno));			free(peer);			sleep(1);			continue;		}		/* TODO: keep a list of accepted connections? */	}}staticintwc_load_config(struct wc_ctx *ctx, xmlNodePtr node){	ctx->port = 8888;	ctx->listen_fd = -1;	if (!node)		return 0;		for (node = node->xml_children; node; node = node->next)	{		if (xml_isnode(node, "port"))			ctx->port = xml_atoi(node, ctx->port);	}		if (ctx->port <= 0 || ctx->port > 0xffff)	{		log_log(MODNAME, "Invalid port: %i\n", ctx->port);		return -1;	}	return 0;}staticvoid *wc_handle_conn(void *arg){	struct peer_ctx peer;	int ret;	char c;	char buf[1024];	struct image curimg;	struct jpegbuf jpegimg;	int first;	struct grab_ctx last_idx;	int count;		memcpy(&peer, arg, sizeof(peer));	free(arg);		log_log(MODNAME, "New connection from %s:%i\n", socket_ip(&peer.peer), socket_port(&peer.peer));		first = 1;	count = 0;	memset(&last_idx, 0, sizeof(last_idx));	for (;;)	{		do		{			ret = socket_read(&peer.peer, &c, 1, 20000);			if (ret != 1)			{				if (ret == -2)					log_log(MODNAME, "Timeout on connection from %s:%i\n",						socket_ip(&peer.peer), socket_port(&peer.peer));				else if (ret == -1)					log_log(MODNAME, "Error on connection from %s:%i\n",						socket_ip(&peer.peer), socket_port(&peer.peer));				goto closenout;	/* break; break; */			}		}		while (c == '\r');				if (c != '\n')			break;				if (first)		{			/* The webcam_server java applet has a bug in that			 * it sends two linefeeds before displaying the first			 * image, with the result that the display is always			 * one second slow (when using 1 fps). Work around			 * that. */			first = 0;			continue;		}			filter_get_image(&curimg, &last_idx, peer.ctx->node, NULL);		jpeg_compress(&jpegimg, &curimg, peer.ctx->node);			snprintf(buf, sizeof(buf) - 1,			"HTTP/1.0 200 OK\n"			"Content-type: image/jpeg\n"			"Content-Length: %i\n"			"Connection: close\n\n",			jpegimg.bufsize);		ret = socket_write(&peer.peer, buf, strlen(buf), 20000);		if (ret > 0)			ret = socket_write(&peer.peer, jpegimg.buf, jpegimg.bufsize, 20000);				image_destroy(&curimg);		free(jpegimg.buf);				if (ret <= 0)		{			log_log(MODNAME, "Write error on connection from %s:%i\n",				socket_ip(&peer.peer), socket_port(&peer.peer));			break;		}				count++;	}closenout:	socket_close(&peer.peer);	log_log(MODNAME, "Connection from %s:%i closed, %i frame(s) served\n",		socket_ip(&peer.peer), socket_port(&peer.peer),		count);		return NULL;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本精品一区二区三区| 成人一级黄色片| 成人影视亚洲图片在线| 麻豆专区一区二区三区四区五区| 国产福利一区在线观看| 亚洲人成精品久久久久| 国产精品电影一区二区| 亚洲欧洲性图库| 综合分类小说区另类春色亚洲小说欧美 | 欧美一区二区三区精品| 欧美日韩综合色| 91精品国产入口在线| 日韩精品一区二区在线| 国产欧美一区二区三区沐欲| 一区二区中文字幕在线| 亚洲国产另类av| 美女视频黄免费的久久| 国产九色精品成人porny| 91小视频在线| 884aa四虎影成人精品一区| 精品久久久久久久一区二区蜜臀| 中文字幕欧美国产| 欧美日韩国产高清一区| www.99精品| 欧美少妇xxx| wwww国产精品欧美| 亚洲丝袜另类动漫二区| 一区二区免费在线| 激情偷乱视频一区二区三区| 成人性视频免费网站| 欧美视频第二页| 国产偷国产偷亚洲高清人白洁| 中文字幕一区二区三区在线播放| 丝袜诱惑亚洲看片| 成人激情免费电影网址| 91精品麻豆日日躁夜夜躁| 国产女人aaa级久久久级| 亚洲丰满少妇videoshd| 国产成人av电影在线播放| 欧美羞羞免费网站| 国产精品人人做人人爽人人添| 亚洲一二三四久久| 成人免费的视频| 4438x亚洲最大成人网| 亚洲欧美日韩一区| 丰满亚洲少妇av| 日韩精品视频网| 国产美女av一区二区三区| 91久久人澡人人添人人爽欧美| 337p粉嫩大胆色噜噜噜噜亚洲 | 久久一夜天堂av一区二区三区| 亚洲另类中文字| 国产成人午夜99999| 3atv在线一区二区三区| 亚洲码国产岛国毛片在线| 国产激情一区二区三区| 日韩片之四级片| 日韩在线卡一卡二| 欧美午夜一区二区| 亚洲欧美在线aaa| 成人av在线电影| 国产亚洲精品bt天堂精选| 精油按摩中文字幕久久| 国产老妇另类xxxxx| 欧美一级艳片视频免费观看| 亚洲乱码精品一二三四区日韩在线| 黑人巨大精品欧美一区| 欧美一级黄色大片| 日韩高清中文字幕一区| 欧美高清精品3d| 亚洲第一狼人社区| 欧美探花视频资源| 一区二区三区高清在线| 在线观看不卡视频| 亚洲国产视频a| 制服丝袜日韩国产| 男人的j进女人的j一区| 欧美大片拔萝卜| 韩国午夜理伦三级不卡影院| 日韩一区二区精品葵司在线| 日本少妇一区二区| 日韩女优毛片在线| 国内偷窥港台综合视频在线播放| 久久久综合激的五月天| 国产成人激情av| 国产精品伦理在线| 色呦呦国产精品| 五月综合激情日本mⅴ| 欧美老女人在线| 韩国三级电影一区二区| 中文字幕精品一区| 欧美网站大全在线观看| 亚洲bdsm女犯bdsm网站| 精品乱人伦小说| 成人不卡免费av| 亚洲成人av中文| 精品国产亚洲在线| 大白屁股一区二区视频| 一区二区三区蜜桃网| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 亚洲午夜免费福利视频| 日韩精品中午字幕| 99热国产精品| 麻豆精品在线看| 国产精品免费视频观看| 欧美巨大另类极品videosbest | 国产一区二区免费视频| 中文字幕永久在线不卡| 欧美精品三级日韩久久| 国产成人综合视频| 亚洲高清在线视频| 国产欧美一区在线| 制服丝袜日韩国产| 91久久国产最好的精华液| 精品亚洲porn| 亚洲韩国一区二区三区| 日本一区二区视频在线| 欧美一区二区三级| 色激情天天射综合网| 成人天堂资源www在线| 三级一区在线视频先锋 | 91小宝寻花一区二区三区| 美腿丝袜亚洲一区| 亚洲综合色丁香婷婷六月图片| 亚洲精品在线观看视频| 欧美日韩激情在线| 91在线小视频| 国产伦精品一区二区三区在线观看| 亚洲国产色一区| 亚洲你懂的在线视频| 2022国产精品视频| 91麻豆精品国产91久久久久久久久| 91在线国产福利| 成人午夜激情影院| 国产精品一二三四五| 久久草av在线| 久久国产精品无码网站| 日本视频中文字幕一区二区三区| 亚洲午夜羞羞片| 亚洲黄色免费网站| 亚洲欧洲日韩av| 中文字幕精品一区二区三区精品| 久久蜜臀中文字幕| www亚洲一区| 精品成人在线观看| 精品蜜桃在线看| 日韩欧美一区二区免费| 欧美一区二区三区在线观看视频| 欧美午夜电影一区| 欧美午夜精品免费| 欧美日韩国产精选| 欧美美女视频在线观看| 欧美猛男gaygay网站| 欧美丰满高潮xxxx喷水动漫| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | youjizz国产精品| 91同城在线观看| 欧美曰成人黄网| 欧美日韩国产精选| 日韩一卡二卡三卡四卡| 91精品久久久久久久91蜜桃| 欧美一区二区三区的| 精品久久久久久久久久久久包黑料 | 欧美伦理影视网| 欧美成人欧美edvon| 精品国产成人系列| 国产欧美中文在线| 亚洲精品成人天堂一二三| 亚洲成人av一区| 国产主播一区二区| 成人国产精品免费| 欧美日韩一区二区三区不卡| 91.com在线观看| 国产丝袜美腿一区二区三区| 日韩一区欧美小说| 丝袜美腿一区二区三区| 精品一区二区三区在线播放| 国产成人免费视| 欧美日韩一区二区三区免费看 | 欧美一区二区三区在线观看| 久久亚洲综合av| 中文字幕中文字幕一区| 亚洲va欧美va人人爽午夜 | 色999日韩国产欧美一区二区| 欧美日韩一区二区三区在线看| 久久综合久久综合亚洲| 亚洲你懂的在线视频| 美女在线一区二区| 97久久精品人人爽人人爽蜜臀| 91精品国产综合久久久久| 久久久99精品免费观看不卡| 亚洲综合在线五月| 国产一区二区主播在线| 欧美日韩精品三区| 国产精品婷婷午夜在线观看| 日本欧美一区二区在线观看| 99国产欧美另类久久久精品 | 国产日韩欧美a| 视频一区视频二区在线观看| 岛国av在线一区|