我正在使用nodejs的socket.io-client从远程websocket服务器获取数据流.过了一会儿,我只是停止从远程服务器接收数据.没有错误或关闭事件.数据只是停止到达.
有趣的是,我停止接收数据之前的时间因主机系统的规格而异.
例如,在我的笔记本电脑上,这是一款配备16GB内存的4核i7,它可以在我停止接收数据之前过夜(大约8-9小时).在小型AWS EC2服务器上,我会在10分钟内停止接收数据.
如果我强制重新连接到远程服务器,数据将开始进入并在一段时间后停止接收.我目前解决此问题的方法是每10分钟重新连接到远程服务器.
我最初认为这是我连接的远程服务器的一个错误,所以我切换了我的数据提供程序.但我仍然看到了这个问题.
nodejs进程的内存,cpu和文件描述符用法是名义上的.strace没有显示任何有趣的东西.我需要一些关于如何调试它的想法.
请注意,我没有从浏览器连接到websocket服务器,我正在从nodejs脚本连接到它.
我有一个包含超过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'展现出来,其他所有的领域似乎没有提交他们的数据.
我能做错什么?
表结构:
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万条记录查询说明:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE newsletters range status …Run Code Online (Sandbox Code Playgroud) 以这段代码为例:
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和 …
这听起来像是一个愚蠢的问题,也许就是这样.但我只是想确保没有秘密信息隐藏起来.
好吧,如果我可以选择额外的努力来开发简单的html并通过ajax连接我的后端,我会去吗?
意思是,我可以使用PHP/JSP来包含页眉,页脚和导航等文件.该处理在用户请求文件时发生.
但另外,我可以使用ant构建脚本在发布时从页眉,页脚,导航等编译HTML文件.但这需要一些努力.
请记住,这不是AJAX v/s非AJAX问题,两种情况下的结果输出文件都是相同的,除了文件扩展名.
考虑以下目录结构:
如何定义路径不变logo.png在vars.php是在这两个访问的index.php和content.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.如何在页面上显示?
$content = grabArticle($webpage);
echo $content;
ERROR => Object of class DOMElement could not be converted to string...
Run Code Online (Sandbox Code Playgroud) 我基本上需要创建一个锚点,导航到服务器上的不同端口.例如,我们的服务器托管在上面domain.com:555,我们需要一个导航到的链接domain.com:777.问题在于它并不总是domain.com.我们可以预期的DNS故障,在这种情况下,我们会使用IP地址来浏览喜欢xx.xx.xx.xx:555和xx.xx.xx.xx:777.
我需要获取运行PHP脚本的服务器的主机名.我尝试使用SERVER_ADDR,但原因是我给了服务器的私有IP.
那么如何获取网址的域/ ip部分?
GRANT SELECT ON db.* TO user在postgresql 8.4中我需要类似于mysql的东西.我在网上找到的解决方案使用for循环一次选择表并为它们授予权限.但这意味着每次将新表添加到数据库时我都必须重新运行该命令.
有一个更直接的解决方案吗?
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。定时器设置为 …
php ×5
html ×3
caching ×1
codeigniter ×1
database ×1
dom ×1
ecmascript-6 ×1
forms ×1
javascript ×1
jquery ×1
jsp ×1
kohana ×1
mysql ×1
node.js ×1
optimization ×1
parsing ×1
performance ×1
permissions ×1
postgresql ×1
reactjs ×1
seo ×1
setinterval ×1
socket.io ×1
sql ×1
url ×1
websocket ×1
yii ×1