小编Ion*_*non的帖子

如何在PHP中禁用输出缓冲

我写了一个简单的中继脚本,它连接到网络摄像头并从套接字读取,并使用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)

php http mjpeg

30
推荐指数
3
解决办法
7万
查看次数

需要帮助在Borland C++ 3.0上分配远指针

我正在编写一个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)

程序正在使用小内存模型.

c memory pointers dos

9
推荐指数
1
解决办法
1143
查看次数

开始学习OpenGL,需要帮助解决这个问题

所以我开始学习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)

c++ opengl

7
推荐指数
2
解决办法
446
查看次数

无法接收ACTION_PASSWORD_SUCCEEDED和ACTION_PASSWORD_FAILED意图

我正在使用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)

固定 …

java android android-intent

5
推荐指数
1
解决办法
2026
查看次数

标签 统计

android ×1

android-intent ×1

c ×1

c++ ×1

dos ×1

http ×1

java ×1

memory ×1

mjpeg ×1

opengl ×1

php ×1

pointers ×1