我写了一个简单的中继脚本,它连接到网络摄像头并从套接字读取,并使用print函数输出这些数据.数据是已设置边界的MJPG数据.我只输出读取的数据.
问题是PHP似乎在缓冲这些数据.当我将相机设置为1 FPS时,进纸将冻结7-8秒,然后快速显示8帧.如果我将分辨率设置为一个巨大的尺寸,相机会以大约每秒1帧的速度移动.我假设然后发生了一些缓冲(因为巨大的大小快速填充缓冲区,而低大小则没有),我无法弄清楚如何禁用此缓冲.有谁知道怎么做?
码:
ignore_user_abort(false);
$boundary = "myboundary";
//Set this so PHP doesn't timeout during a long stream
set_time_limit(0);
$socketConn = @fsockopen ("192.168.1.6", 1989, $errno, $errstr, 2);
if (!$socketConn)
exit();
stream_set_timeout($socketConn, 10);
fputs ($socketConn, "GET /mjpeg HTTP/1.0\r\n\r\n");
//Setup Header Information
header("Cache-Control: no-cache");
header("Cache-Control: private");
header("Pragma: no-cache");
header("Content-type: multipart/x-mixed-replace; boundary=$boundary");
@ini_set('implicit_flush', 1);
for ($i = 0; $i < ob_get_level(); $i++)
ob_end_flush();
ob_implicit_flush(1);
stream_set_blocking($f2, false);
//Send data to client
while (connection_status() == CONNECTION_NORMAL)
{
$chunk = fread($socketConn, 128);
print $chunk;
}
fclose($socketConn);
Run Code Online (Sandbox Code Playgroud) 我正在编写一个DOS游戏框架来更好地学习C,并对旧硬件上的编程感兴趣(特别是在我长大的系统上).
我正在尝试实现一个双缓冲系统,但我无法分配一个指向320*200阵列的远指针.
起初我试图使用malloc,但发现它只能分配到64kb以下.我读过你需要使用farmalloc(malloc返回NULL)并正确分配.但是,当运行_fmemset或_fmemcpy时......整个系统会冻结.
backBuffer = (unsigned char far*) farmalloc(64000);
Run Code Online (Sandbox Code Playgroud)
什么时候交换我使用的缓冲区
_fmemcpy(VGA, backBuffer, 64000);
Run Code Online (Sandbox Code Playgroud)
程序正在使用小内存模型.
所以我开始学习OpenGL,阅读"OpenGL Super Bible 5 ed."一书.这很好地解释了事情,我已经能够自己创建我的第一个gl程序了!简单的东西,一个旋转的三维金字塔.
现在由于某种原因,其中一个面不会渲染.我检查了椎体(首先在纸上绘制)并且看起来是正确的.如果我更改着色器以绘制线环,则会发现它会渲染.但是它不会呈现三角形.有谁能解释为什么?
void setupRC()
{
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
shaderManager.InitializeStockShaders();
M3DVector3f vVerts1[] = {-0.5f,0.0f,-0.5f,0.0f,0.5f,0.0f,0.5f,0.0f,-0.5f};
M3DVector3f vVerts2[] = {-0.5f,0.0f,-0.5f,0.0f,0.5f,0.0f,-0.5f,0.0f,0.5f};
M3DVector3f vVerts3[] = {-0.5f,0.0f,0.5f,0.0f,0.5f,0.0f,0.5f,0.0f,0.5f};
M3DVector3f vVerts4[] = {0.5f,0.0f,0.5f,0.0f,0.5f,0.0f,0.5f,0.0f,-0.5f};
triangleBatch1.Begin(GL_LINE_LOOP, 3);
triangleBatch1.CopyVertexData3f(vVerts1);
triangleBatch1.End();
triangleBatch2.Begin(GL_TRIANGLES, 3);
triangleBatch2.CopyVertexData3f(vVerts2);
triangleBatch2.End();
triangleBatch3.Begin(GL_TRIANGLES, 3);
triangleBatch3.CopyVertexData3f(vVerts3);
triangleBatch3.End();
triangleBatch4.Begin(GL_TRIANGLES, 3);
triangleBatch4.CopyVertexData3f(vVerts4);
triangleBatch4.End();
glEnable(GL_CULL_FACE);
}
float rot = 1;
void renderScene()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
GLfloat vRed[] = {1.0f, 0.0f, 0.0f, 0.5f};
GLfloat vBlue[] = {0.0f, 1.0f, 0.0f, 0.5f};
GLfloat vGreen[] = {0.0f, 0.0f, 1.0f, …Run Code Online (Sandbox Code Playgroud) 我正在使用Android的Administration API并拥有DeviceAdminReceiver,并覆盖以下功能:
@Override
public void onEnabled(Context context, Intent intent)
{
System.out.println("Admin On======================");
}
@Override
public void onDisabled(Context context, Intent intent)
{
System.out.println("Admin Off======================");
}
@Override
public void onPasswordFailed(Context context, Intent intent)
{
System.out.println("PW Bad============================");
}
@Override
public void onPasswordSucceeded(Context context, Intent intent)
{
System.out.println("PW Good===========================");
}
@Override
public void onPasswordChanged(Context context, Intent intent)
{
System.out.println("Changed PW=======================");
}
Run Code Online (Sandbox Code Playgroud)
在启用,已禁用和PW已更改工作时,但密码失败并且成功则不然.奇怪的是,他们偶尔随机工作,然后停止工作.我的代码有什么问题,或者这可能是API问题吗?
AndroidMaifest中的接收器
<receiver android:name="AdminReciever"
android:label="Administration"
android:permission="android.permission.BIND_DEVICE_ADMIN" android:enabled="true">
<meta-data android:name="android.app.device_admin"
android:resource="@xml/adminpolicies" />
<intent-filter>
<action android:name="android.app.action.ACTION_PASSWORD_SUCCEEDED"/>
<action android:name="android.app.action.ACTION_PASSWORD_FAILED"></action>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED"></action>
<action android:name="android.app.action.ACTION_PASSWORD_CHANGED"></action>
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
固定 …