我正在使用 ws 库在 Node js 中编写一个基于套接字的服务器,我想测试我的代码是否有效。我已经看到在其他地方使用 telnet 来测试简单的聊天服务器,但是当我启动我的服务器并执行 telnet 127.0.0.1 5000 时,虽然输出显示“连接到本地主机”,但我的服务器没有记录与新连接相关的任何内容。我测试我的服务器是错误的还是我的服务器根本不工作?我的服务器代码如下:
var WebSocketServer = require('ws').Server
, http = require('http')
, express = require('express')
, app = express()
, port = process.env.PORT || 5000;
var server = http.createServer(app);
server.listen(port);
var wss = new WebSocketServer({server: server});
console.log('websocket server created');
wss.on('connection', function(ws) {
var id = setInterval(function() {
ws.send(JSON.stringify(new Date()), function() { });
}, 1000);
console.log('websocket connection open');
ws.on('close', function() {
console.log('websocket connection close');
clearInterval(id);
});
});
Run Code Online (Sandbox Code Playgroud) import telnetlib
tn = telnetlib.Telnet(IP)
tn.read_until("abcd login: ") --> This is only to match a particular pattern
Run Code Online (Sandbox Code Playgroud)
可以包含通用模式tn.read_until()
吗?例如:提示可以是"xyz login: " , "abcd login: "
等
在正则表达式中,我们使用re.match('(.*)login: ',prompt)
. 但我不这么认为,这是tn.read_until()
因为它期望的参数本身是一个模式。有什么办法可以处理吗?
什么是C#中一个很好的开源Telnet客户端实现,可以在密码中使用(即不在GPL下)?
波阿斯
我们发现,使用我们的memcache,一些键往往会丢失.要调试,我正在使用该命令stats cachedump <slab> <limit>
输出是这样的:
ITEM key-stuff-123-mlgtr-tmura [58 b; 1256946310 s]
ITEM key-stuff-123-mlgtr-isuca [58 b; 1256946310 s]
ITEM key-stuff-123-mlgtr-arpan [58 b; 1256946310 s]
ITEM key-stuff-123-mlgtr-nanhai [59 b; 1256946252 s]
ITEM key-stuff-123-mlgtr-naka3 [58 b; 1256946250 s]
ITEM key-stuff-123-mlgtr-erlang [59 b; 1256946250 s]
ITEM key-stuff-123-mlgtr-junkma [59 b; 1256946250 s]
ITEM key-stuff-123-mlgtr-wilfue [59 b; 1256946250 s]
ITEM key-stuff-123-mlgtr-quinte [59 b; 1256946250 s]
ITEM key-stuff-123-mlgtr-yanbe [58 b; 1256946250 s]
Run Code Online (Sandbox Code Playgroud)
我知道那58 b
是大小; 但是会是1256946250 s
什么?到期时间是几秒钟?这似乎有点高(55年)!所以也许我们的问题就在这里......或许我误解了一些东西.
谢谢!
使用Perl模块Net :: Telnet,如何将箭头键发送到telnet会话,以便与用户按下键盘上的向下键相同?
use Net::Telnet;
my $t = new Net::Telnet();
my $down_key=?; #How do you send a down key in a telnet session?
t->print($down_key);
Run Code Online (Sandbox Code Playgroud)
此VT102代码列表表示光标键代码如下:
Up: Esc [ A
033 133 101
Down: Esc [ B
033 133 102
Right: Esc [ C
033 133 103
Left: Esc [ D
033 133 104
Run Code Online (Sandbox Code Playgroud)
我将如何通过telnet发送这些内容?这些代码是否与键盘上按下的箭头键相同?
我试图从我的程序模拟Vidalia(Tor GUI)中的"新身份"按钮.我问过这个问题,基于Rob Kennedy的回答,我在我的申请中尝试了这个:
IdTelnet1.Host:='127.0.0.1';
IdTelnet1.Port:=9051;
IdTelnet1.Connect(-1);
IdTelnet1.SendCmd('SIGNAL NEWNYM');
Run Code Online (Sandbox Code Playgroud)
但它对我没用.即使我发送命令后,我也得到相同的代理.
我正在使用Indy 9.
我不知道我是否不知道如何使用TIdTelnet或不知道如何发送该特定命令.
我在下面的代码中遇到问题,idTCPClient用于从telnet服务器读取缓冲区:
procedure TForm2.ReadTimerTimer(Sender: TObject);
var
S: String;
begin
if IdTCPClient.IOHandler.InputBufferIsEmpty then
begin
IdTCPClient.IOHandler.CheckForDataOnSource(10);
if IdTCPClient.IOHandler.InputBufferIsEmpty then Exit;
end;
s := idTCPClient.IOHandler.InputBufferAsString(TEncoding.UTF8);
CheckText(S);
end;
Run Code Online (Sandbox Code Playgroud)
此过程每1000毫秒运行一次,当缓冲区调用CheckText值时.
此代码有效,但有时会将空缓冲区返回给CheckText.
有什么问题?
谢谢
我在Windows 7或Windows命令处理器上使用命令行.我正在尝试连接到端口995上的gmail pop服务器(pop.gmail.com),因为这是我在其他网站上看到的.我想至少得到一个"+ OK Hello there"消息.这是我写的命令:
telnet pop.gmail.com 995
Run Code Online (Sandbox Code Playgroud)
我没有得到任何答案.我究竟做错了什么?
我试图通过PHP在iOS应用程序中发送推送通知.所以iOS开发人员给我pem文件.我请求托管服务器打开gateway.sandbox.push.apple.com:2195
,他们已经打开了端口.但是当我尝试发送推送通知时,我收到以下错误.我的代码看起来像
$deviceToken='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$passphrase="";
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', '/home/sitename/public_html/push/ck.pem');
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
$fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195',
$err,
$errstr,
60,
STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT,
$ctx);
if (!$fp)
exit("Failed to connect amarnew: $err $errstr" . PHP_EOL);
echo 'Connected to APNS' . PHP_EOL;
Run Code Online (Sandbox Code Playgroud)
得到以下错误
Failed to connect amarnew: 0
Run Code Online (Sandbox Code Playgroud)
所以我尝试通过telnet连接到apple,结果是
root@uio3-i [~]# telnet gateway.sandbox.push.apple.com 2195
Trying XX.XXX.XXX.XX...
Connected to gateway.sandbox.push.apple.com.
Escape character is '^]'.
^\q
^]
telnet> q
Connection closed.
root@uio3-i [~]#
Run Code Online (Sandbox Code Playgroud)
由于我是新手,我只是坚持到这里.请任何人帮助我
提前致谢
在我的Mac终端上,我正试图telnet
进入我的smtp.gmail.com
行列port 587
.
在Google Apps上(设置为管理Dreamhost域),我配置了中继,如下所示:
"Allowed senders: Only addresses in my domains"
"Require SMTP Authentication: Yes
"
当我HELO <me@domain.com>
,我得到:
250 smtp.gmail.com at your service
然后我进入 MAIL FROM: <me@example.com>
返回:
530 5.7.0 Must issue a STARTTLS command first.
我究竟做错了什么?