小编Hyd*_*erA的帖子

Websocket后端客户端连接在一段时间后停止接收流更新

我正在使用nodejs的socket.io-client从远程websocket服务器获取数据流.过了一会儿,我只是停止从远程服务器接收数据.没有错误或关闭事件.数据只是停止到达.

有趣的是,我停止接收数据之前的时间因主机系统的规格而异.

例如,在我的笔记本电脑上,这是一款配备16GB内存的4核i7,它可以在我停止接收数据之前过夜(大约8-9小时).在小型AWS EC2服务器上,我会在10分钟内停止接收数据.

如果我强制重新连接到远程服务器,数据将开始进入并在一段时间后停止接收.我目前解决此问题的方法是每10分钟重新连接到远程服务器.

我最初认为这是我连接的远程服务器的一个错误,所以我切换了我的数据提供程序.但我仍然看到了这个问题.

nodejs进程的内存,cpu和文件描述符用法是名义上的.strace没有显示任何有趣的东西.我需要一些关于如何调试它的想法.

请注意,我没有从浏览器连接到websocket服务器,我正在从nodejs脚本连接到它.

websocket node.js socket.io

6
推荐指数
1
解决办法
345
查看次数

表格不发送完整数据

我有一个包含超过50个输入字段的表单.输入字段在表单容器中分为5个jquery jab.以下是它的样子:

<form action="admin/save" method="post" enctype="multipart/form-data">
     <input type="hidden" name="type" value="department" />
     <input type="hidden" name="id" value="21" />
     <div id="tabs">
       <ul>
         <li><a href="#tab-1">Tab 1</a><li>
         <li><a href="#tab-2">Tab 2</a><li>
         <li><a href="#tab-3">Tab 3</a><li>
       </ul>
       <div id="tab-1">
         <label>Name</label>
         <input type="text" name="user-name" />
       </div>
       <div id="tab-2">
         <label>Address</label>
         <input type="text" name="user-address" />
       </div>
       <div id="tab-3">
         <label>Phone</label>
         <input type="text" name="user-phone" />
       </div>
     </div>
     <input type="submit" value="Send" />
</form>
Run Code Online (Sandbox Code Playgroud)

我正在使用PHP的Kohana框架,因此admin映射到控制器,并save映射到该方法action_save.

当我输出的$_POST变量action_save,只有'type''id'展现出来,其他所有的领域似乎没有提交他们的数据.

我能做错什么?

php forms jquery codeigniter kohana

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

为什么MySQL在这种情况下使用filesort?

表结构:

CREATE TABLE IF NOT EXISTS `newsletters` 
(
    `id` int(11) NOT NULL auto_increment,
    `last_update` int(11) default NULL,
    `status` int(11) default '0',
    `message_id` varchar(255) default NULL,
    PRIMARY KEY  (`id`),
    KEY `status` (`status`),
    KEY `message_id` (`message_id`),
    KEY `last_update` (`last_update`)
) 
ENGINE=MyISAM DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)

查询:

SELECT id, last_update
FROM newsletters
WHERE status = 1
ORDER BY last_update DESC 
LIMIT 0, 100
Run Code Online (Sandbox Code Playgroud)
  • newsletters表有超过300万条记录
  • 查询需要超过26秒才能执行

查询说明:

id  select_type table   type    possible_keys   key key_len ref rows    Extra
1   SIMPLE  newsletters range   status …
Run Code Online (Sandbox Code Playgroud)

mysql sql optimization performance

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

Yii - 数据库依赖性缓存是否跨多个操作工作?

以这段代码为例:

public function actionPostOneWay( $postId )
{
    $dependency = new CDbCacheDependency( 'SELECT publish_date FROM posts WHERE id = :post_id;' );
    $dependency->params = array( 'post_id'=>$postId );
    $post = Post::model()->cache( 59, $dependency )->findByPk( $postId );

    // process post one way
}

public function actionPostAnotherWay( $postId )
{
    $dependency = new CDbCacheDependency( 'SELECT publish_date FROM posts WHERE id = :post_id;' );
    $dependency->params = array( 'post_id'=>$postId );
    $post = Post::model()->cache( 59, $dependency )->findByPk( $postId );

    // process post another way
}
Run Code Online (Sandbox Code Playgroud)

那么访问/postOneWay和 …

caching yii

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

SEO优惠.html v/s jsp/php/etc?

这听起来像是一个愚蠢的问题,也许就是这样.但我只是想确保没有秘密信息隐藏起来.

好吧,如果我可以选择额外的努力来开发简单的html并通过ajax连接我的后端,我会去吗?

意思是,我可以使用PHP/JSP来包含页眉,页脚和导航等文件.该处理在用户请求文件时发生.

但另外,我可以使用ant构建脚本在发布时从页眉,页脚,导航等编译HTML文件.但这需要一些努力.

请记住,这不是AJAX v/s非AJAX问题,两种情况下的结果输出文件都是相同的,除了文件扩展名.

html php seo jsp

4
推荐指数
1
解决办法
2758
查看次数

PHP:定义与 HTML 标签兼容的相对路径

考虑以下目录结构:

  • ------图片
  • .....................标志.png
  • ------包括
  • ..... php
  • ------布局
  • …………内容.php
  • ------ index.php

如何定义路径不变logo.pngvars.php是在这两个访问的index.phpcontent.php?作为相对路径,应该与 HTML 标签兼容。

<img src="<?php echo IMAGE_PATH; ?>">
Run Code Online (Sandbox Code Playgroud)

应该被解析为

<img src="images/logo.png"> <!-- if used in index.php -->
Run Code Online (Sandbox Code Playgroud)

<img src="../images/logo.png"> <!-- if used in content.php -->
Run Code Online (Sandbox Code Playgroud)

新问题(编辑):使用include / require方法包含 php 文件时,根相对路径是否有效?

html php parsing relative-path

4
推荐指数
1
解决办法
5871
查看次数

如何显示DOMElement?

我正在使用可读性代码从网页中提取HTML.如何在页面上显示?

$content = grabArticle($webpage);
echo $content;

ERROR => Object of class DOMElement could not be converted to string...
Run Code Online (Sandbox Code Playgroud)

html php dom

4
推荐指数
3
解决办法
1万
查看次数

在PHP中获取服务器的主机名或IP地址

我基本上需要创建一个锚点,导航到服务器上的不同端口.例如,我们的服务器托管在上面domain.com:555,我们需要一个导航到的链接domain.com:777.问题在于它并不总是domain.com.我们可以预期的DNS故障,在这种情况下,我们会使用IP地址来浏览喜欢xx.xx.xx.xx:555xx.xx.xx.xx:777.

我需要获取运行PHP脚本的服务器的主机名.我尝试使用SERVER_ADDR,但原因是我给了服务器的私有IP.

那么如何获取网址的域/ ip部分?

php url

4
推荐指数
1
解决办法
1万
查看次数

如何为数据库中的所有表授予某些权限?

GRANT SELECT ON db.* TO user在postgresql 8.4中我需要类似于mysql的东西.我在网上找到的解决方案使用for循环一次选择表并为它们授予权限.但这意味着每次将新表添加到数据库时我都必须重新运行该命令.

有一个更直接的解决方案吗?

database postgresql permissions

4
推荐指数
2
解决办法
9410
查看次数

反应 setInterval 行为

let updateTimer: number;

export function Timer() {
  const [count, setCount] = React.useState<number>(0);
  const [messages, setMessages] = React.useState<string[]>([]);

  const start = () => {
    updateTimer = setInterval(() => {
      const m = [...messages];
      m.push("called");
      setMessages(m);
      setCount(count + 1);
    }, 1000);
  };

  const stop = () => {
    clearInterval(updateTimer);
  };

  return (
    <>
      <div>{count}</div>
      <button onClick={start}>Start</button>
      <button onClick={stop}>Stop</button>
      {messages.map((message, i) => (
        <p key={i}>{message}</p>
      ))}
    </>
  );
}
Run Code Online (Sandbox Code Playgroud)

代码示例:https : //codesandbox.io/s/romantic-wing-9yxw8?file=/ src/ App.tsx


该代码有两个按钮 - 开始和停止。

  • 开始调用 asetInterval并保存间隔 ID。定时器设置为 …

javascript setinterval ecmascript-6 reactjs

4
推荐指数
1
解决办法
134
查看次数