Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wechaty
wechaty
提交
9fd6fa38
W
wechaty
项目概览
wechaty
/
wechaty
上一次同步 大约 3 年
通知
304
Star
10499
Fork
6
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
152
列表
看板
标记
里程碑
合并请求
1
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
wechaty
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
152
Issue
152
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9fd6fa38
编写于
1月 13, 2017
作者:
Huan (李卓桓)
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add localhost tcp connectivity test in doctor (#184)
上级
589b5587
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
93 addition
and
7 deletion
+93
-7
bin/doctor.ts
bin/doctor.ts
+29
-7
src/doctor.ts
src/doctor.ts
+64
-0
未找到文件。
bin/doctor.ts
浏览文件 @
9fd6fa38
...
...
@@ -14,14 +14,36 @@ import {
}
from
'
../src/config
'
import
{
Wechaty
}
from
'
../src/wechaty
'
import
{
Doctor
}
from
'
../src/doctor
'
const
wechaty
=
Wechaty
.
instance
()
const
doctor
=
new
Doctor
()
async
function
main
()
{
let
ipcTestResult
:
string
try
{
await
doctor
.
testTcp
()
ipcTestResult
=
'
PASS
'
}
catch
(
err
)
{
console
.
log
(
err
)
ipcTestResult
=
'
FAIL. Please check your tcp network, Wechaty need to listen on localhost and connect to it.
'
}
console
.
log
(
`
#### Wechaty Doctor
1. Wechaty version:
${
wechaty
.
version
()}
2.
${
os
.
type
()}
${
os
.
arch
()}
version
${
os
.
release
()}
memory
${
Math
.
floor
(
os
.
freemem
()
/
1024
/
1024
)}
/
${
Math
.
floor
(
os
.
totalmem
()
/
1024
/
1024
)}
MB
3. Docker:
${
Config
.
isDocker
}
4. Node version:
${
process
.
version
}
5. Tcp IPC TEST:
${
ipcTestResult
}
console
.
log
(
`
#### Wechaty Doctor
`
)
1. Wechaty version:
${
wechaty
.
version
()}
2.
${
os
.
type
()}
${
os
.
arch
()}
version
${
os
.
release
()}
memory
${
Math
.
floor
(
os
.
freemem
()
/
1024
/
1024
)}
/
${
Math
.
floor
(
os
.
totalmem
()
/
1024
/
1024
)}
MB
3. Docker:
${
Config
.
isDocker
}
4. Node version:
${
process
.
version
}
}
`
)
try
{
main
()
}
catch
(
err
)
{
console
.
error
(
'
main() exception: %s
'
,
err
.
message
||
err
)
}
src/doctor.ts
0 → 100644
浏览文件 @
9fd6fa38
/**
*
* wechaty: Wechat for Bot. and for human who talk to bot/robot
*
* Licenst: ISC
* https://github.com/zixia/wechaty
*
*/
import
{
createServer
,
Socket
}
from
'
net
'
import
{
log
,
}
from
'
./config
'
export
class
Doctor
{
constructor
()
{
log
.
verbose
(
'
Doctor
'
,
'
constructor()
'
)
}
/**
* https://gist.github.com/tedmiston/5935757
*/
testTcp
():
Promise
<
boolean
>
{
log
.
verbose
(
'
Doctor
'
,
'
testTcp()
'
)
return
new
Promise
<
boolean
>
(
async
(
resolve
,
reject
)
=>
{
/**
* Server
*/
const
server
=
createServer
(
socket
=>
socket
.
pipe
(
socket
))
/**
* Promise Reject
*/
server
.
on
(
'
error
'
,
reject
)
server
.
on
(
'
close
'
,
()
=>
log
.
silly
(
'
Doctor
'
,
'
testTcp() server closed
'
))
server
.
listen
(
8788
,
'
localhost
'
,
()
=>
{
/**
* Client
*/
const
client
=
new
Socket
()
client
.
connect
(
8788
,
'
localhost
'
,
()
=>
{
log
.
silly
(
'
Doctor
'
,
'
testTcp() client connected
'
)
client
.
write
(
'
ding
'
)
})
client
.
on
(
'
data
'
,
function
(
data
)
{
/**
* Promise Resolve
*/
resolve
(
true
)
client
.
destroy
()
// kill client after server's response
})
/**
* Promise Reject
*/
client
.
on
(
'
error
'
,
reject
)
client
.
on
(
'
close
'
,
err
=>
server
.
close
())
})
})
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录