论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
IOT
[24611] 2016-01-11_自己动手开发一个Web服务器(三b)
文档创建者:
s7ckTeam
浏览次数:
1
最后更新:
2025-01-18
IOT
1 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2016-01-11_自己动手开发一个Web服务器(三b)
来
源
:
编
程
派
参
考
原
文
:
h
t
t
p
:
/
/
r
u
s
l
a
n
s
p
i
v
a
k
.
c
o
m
/
l
s
b
a
w
s
-
p
a
r
t
3
/
作
者
:
R
u
s
l
a
n
编
译
文
章
:
h
t
t
p
:
/
/
c
o
d
i
n
g
p
y
.
c
o
m
/
a
r
t
i
c
l
e
/
b
u
i
l
d
-
a
-
s
i
m
p
l
e
-
w
e
b
-
s
e
r
v
e
r
-
p
a
r
t
-
t
h
r
e
e
/
自
己
动
手
开
发
一
个
W
e
b
服
务
器
(
三
b
)
R
u
s
l
a
n
L
i
n
u
x
中
国
2
0
1
6
-
0
1
-
1
1
(
太
长
了
,
接
上
一
部
分
)
现
在
,
我
可
以
开
始
回
答
第
二
部
分
留
下
的
问
题
了
:
如
何
让
服
务
器
一
次
处
理
多
个
请
求
?
换
句
话
说
,
如
何
开
发
一
个
并
发
服
务
器
?
并
发
服
务
器
手
绘
演
示
在
U
n
i
x
系
统
中
开
发
一
个
并
发
服
务
器
的
最
简
单
方
法
,
就
是
调
用
系
统
函
数
。
f
o
r
k
(
)
f
o
r
k
(
)
系
统
函
数
调
用
下
面
就
是
崭
新
的
并
发
服
务
器
,
能
够
同
时
处
理
多
个
客
户
端
请
求
:
w
e
b
s
e
r
v
e
r
3
c
.
p
y
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
C
o
n
c
u
r
r
e
n
t
s
e
r
v
e
r
-
w
e
b
s
e
r
v
e
r
3
c
.
p
y
#
#
#
#
T
e
s
t
e
d
w
i
t
h
P
y
t
h
o
n
2
.
7
.
9
&
P
y
t
h
o
n
3
.
4
o
n
U
b
u
n
t
u
1
4
.
0
4
&
M
a
c
O
S
X
#
#
#
#
-
C
h
i
l
d
p
r
o
c
e
s
s
s
l
e
e
p
s
f
o
r
6
0
s
e
c
o
n
d
s
a
f
t
e
r
h
a
n
d
l
i
n
g
a
c
l
i
e
n
t
'
s
r
e
q
u
e
s
t
#
#
-
P
a
r
e
n
t
a
n
d
c
h
i
l
d
p
r
o
c
e
s
s
e
s
c
l
o
s
e
d
u
p
l
i
c
a
t
e
d
e
s
c
r
i
p
t
o
r
s
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
i
m
p
o
r
t
o
s
i
m
p
o
r
t
s
o
c
k
e
t
i
m
p
o
r
t
t
i
m
e
S
E
R
V
E
R
_
A
D
D
R
E
S
S
=
(
H
O
S
T
,
P
O
R
T
)
=
'
'
,
8
8
8
8
R
E
Q
U
E
S
T
_
Q
U
E
U
E
_
S
I
Z
E
=
5
d
e
f
h
a
n
d
l
e
_
r
e
q
u
e
s
t
(
c
l
i
e
n
t
_
c
o
n
n
e
c
t
i
o
n
)
:
r
e
q
u
e
s
t
=
c
l
i
e
n
t
_
c
o
n
n
e
c
t
i
o
n
.
r
e
c
v
(
1
0
2
4
)
p
r
i
n
t
(
'
C
h
i
l
d
P
I
D
:
{
p
i
d
}
.
P
a
r
e
n
t
P
I
D
{
p
p
i
d
}
'
.
f
o
r
m
a
t
(
p
i
d
=
o
s
.
g
e
t
p
i
d
(
)
,
p
p
i
d
=
o
s
.
g
e
t
p
p
i
d
(
)
,
)
)
p
r
i
n
t
(
r
e
q
u
e
s
t
.
d
e
c
o
d
e
(
)
)
h
t
t
p
_
r
e
s
p
o
n
s
e
=
b
"
"
"
H
T
T
P
/
1
.
1
2
0
0
O
K
H
e
l
l
o
,
W
o
r
l
d
!
"
"
"
c
l
i
e
n
t
_
c
o
n
n
e
c
t
i
o
n
.
s
e
n
d
a
l
l
(
h
t
t
p
_
r
e
s
p
o
n
s
e
)
t
i
m
e
.
s
l
e
e
p
(
6
0
)
在
讨
论
的
工
作
原
理
之
前
,
请
测
试
一
下
上
面
的
代
码
,
亲
自
确
认
一
下
服
务
器
是
否
能
够
同
时
处
理
多
个
客
户
端
请
求
。
我
们
通
过
命
令
行
启
动
上
面
这
个
服
务
器
:
然
后
输
入
之
前
迭
代
式
服
务
器
示
例
中
的
两
个
命
令
。
现
在
,
即
使
服
务
器
子
进
程
在
处
理
完
一
个
客
户
端
请
求
之
后
会
睡
眠
6
0
秒
,
但
是
并
不
会
影
响
其
他
客
户
端
,
因
为
它
们
由
不
同
的
、
完
全
独
立
的
进
程
处
理
。
你
应
该
可
以
立
刻
看
见
命
令
输
出
“
H
e
l
l
o
,
W
o
r
l
d
”
,
然
后
挂
死
6
0
秒
。
你
可
以
继
续
运
行
更
多
的
命
令
,
所
有
的
命
令
都
会
输
出
服
务
器
的
响
应
结
果
—
—
“
H
e
l
l
o
,
W
o
r
l
d
”
,
不
会
有
任
何
延
迟
。
你
可
以
试
试
。
关
于
函
数
有
一
点
最
为
重
要
,
就
是
你
调
用
一
次
,
但
是
函
数
却
会
返
回
两
次
:
一
次
是
在
父
进
程
里
返
回
,
另
一
次
是
在
子
进
程
中
返
回
。
当
你
d
e
f
s
e
r
v
e
_
f
o
r
e
v
e
r
(
)
:
l
i
s
t
e
n
_
s
o
c
k
e
t
=
s
o
c
k
e
t
.
s
o
c
k
e
t
(
s
o
c
k
e
t
.
A
F
_
I
N
E
T
,
s
o
c
k
e
t
.
S
O
C
K
_
S
T
R
E
A
M
)
l
i
s
t
e
n
_
s
o
c
k
e
t
.
s
e
t
s
o
c
k
o
p
t
(
s
o
c
k
e
t
.
S
O
L
_
S
O
C
K
E
T
,
s
o
c
k
e
t
.
S
O
_
R
E
U
S
E
A
D
D
R
,
1
)
l
i
s
t
e
n
_
s
o
c
k
e
t
.
b
i
n
d
(
S
E
R
V
E
R
_
A
D
D
R
E
S
S
)
l
i
s
t
e
n
_
s
o
c
k
e
t
.
l
i
s
t
e
n
(
R
E
Q
U
E
S
T
_
Q
U
E
U
E
_
S
I
Z
E
)
p
r
i
n
t
(
'
S
e
r
v
i
n
g
H
T
T
P
o
n
p
o
r
t
{
p
o
r
t
}
.
.
.
'
.
f
o
r
m
a
t
(
p
o
r
t
=
P
O
R
T
)
)
p
r
i
n
t
(
'
P
a
r
e
n
t
P
I
D
(
P
P
I
D
)
:
{
p
i
d
}
n
'
.
f
o
r
m
a
t
(
p
i
d
=
o
s
.
g
e
t
p
i
d
(
)
)
)
w
h
i
l
e
T
r
u
e
:
c
l
i
e
n
t
_
c
o
n
n
e
c
t
i
o
n
,
c
l
i
e
n
t
_
a
d
d
r
e
s
s
=
l
i
s
t
e
n
_
s
o
c
k
e
t
.
a
c
c
e
p
t
(
)
p
i
d
=
o
s
.
f
o
r
k
(
)
i
f
p
i
d
=
=
0
:
#
c
h
i
l
d
l
i
s
t
e
n
_
s
o
c
k
e
t
.
c
l
o
s
e
(
)
#
c
l
o
s
e
c
h
i
l
d
c
o
p
y
h
a
n
d
l
e
_
r
e
q
u
e
s
t
(
c
l
i
e
n
t
_
c
o
n
n
e
c
t
i
o
n
)
c
l
i
e
n
t
_
c
o
n
n
e
c
t
i
o
n
.
c
l
o
s
e
(
)
o
s
.
_
e
x
i
t
(
0
)
#
c
h
i
l
d
e
x
i
t
s
h
e
r
e
e
l
s
e
:
#
p
a
r
e
n
t
c
l
i
e
n
t
_
c
o
n
n
e
c
t
i
o
n
.
c
l
o
s
e
(
)
#
c
l
o
s
e
p
a
r
e
n
t
c
o
p
y
a
n
d
l
o
o
p
o
v
e
r
i
f
_
_
n
a
m
e
_
_
=
=
'
_
_
m
a
i
n
_
_
'
:
s
e
r
v
e
_
f
o
r
e
v
e
r
(
)
f
o
r
k
$
p
y
t
h
o
n
w
e
b
s
e
r
v
e
r
3
c
.
p
y
c
u
r
l
c
u
r
l
c
u
r
l
f
o
r
k
(
)
f
o
r
k
f
o
r
k
一
个
进
程
时
,
返
回
给
子
进
程
的
P
I
D
是
0
,
而
返
回
给
父
进
程
的
则
是
子
进
程
的
P
I
D
。
f
o
r
k
函
数
我
还
记
得
,
第
一
次
接
触
并
使
用
函
数
时
,
自
己
感
到
非
常
不
可
思
议
。
我
觉
得
这
就
好
像
一
个
魔
法
。
之
前
还
是
一
个
线
性
的
代
码
,
突
然
一
下
子
克
隆
了
自
己
,
出
现
了
并
行
运
行
的
相
同
代
码
的
两
个
实
例
。
我
当
时
真
的
觉
得
这
和
魔
法
也
差
不
多
了
。
当
父
进
程
一
个
新
的
子
进
程
时
,
子
进
程
会
得
到
父
进
程
文
件
描
述
符
的
副
本
:
f
o
r
k
f
o
r
k
f
o
r
k
f
o
r
k
当
父
进
程
f
o
r
k
一
个
新
的
子
进
程
时
,
子
进
程
会
得
到
父
进
程
文
件
描
述
符
的
副
本
你
可
能
也
注
意
到
了
,
上
面
代
码
中
的
父
进
程
关
闭
了
客
户
端
连
接
:
那
为
什
么
父
进
程
关
闭
了
套
接
字
之
后
,
子
进
程
却
仍
然
能
够
从
客
户
端
套
接
字
中
读
取
数
据
呢
?
答
案
就
在
上
面
的
图
片
里
。
系
统
内
核
根
据
文
件
d
e
s
c
r
i
p
t
o
r
r
e
f
e
r
e
n
c
e
c
o
u
n
t
s
描
述
符
计
数
来
决
定
是
否
关
闭
套
接
字
。
系
统
只
有
在
描
述
符
计
数
变
为
0
时
,
才
会
关
闭
套
接
字
。
当
你
的
服
务
器
创
建
一
个
子
进
程
时
,
子
进
程
就
会
获
得
父
进
程
文
件
描
述
符
的
副
本
,
系
统
内
核
则
会
增
加
这
些
文
件
描
述
符
的
计
数
。
在
一
个
父
进
程
和
一
个
子
进
程
的
情
况
下
,
客
户
端
套
接
字
的
文
件
描
述
符
计
数
为
2
。
当
上
面
代
码
中
的
父
进
程
关
闭
客
户
端
连
接
套
接
字
时
,
只
是
让
套
接
字
的
计
数
减
为
1
,
还
不
够
让
系
统
关
闭
套
接
字
。
子
进
程
同
样
关
闭
了
父
进
程
侦
听
套
接
字
的
副
本
,
因
为
子
进
程
不
关
心
要
不
要
接
收
新
的
客
户
端
连
接
,
只
关
心
如
何
处
理
连
接
成
功
的
客
户
端
所
发
出
的
请
求
。
稍
后
,
我
会
给
大
家
介
绍
如
果
不
关
闭
重
复
的
描
述
符
的
后
果
。
从
上
面
并
行
服
务
器
的
源
代
码
可
以
看
出
,
服
务
器
父
进
程
现
在
唯
一
的
作
用
,
就
是
接
受
客
户
端
连
接
,
一
个
新
的
子
进
程
来
处
理
该
客
户
端
连
接
,
然
后
回
到
循
环
的
起
点
,
准
备
接
受
其
他
的
客
户
端
连
接
,
仅
此
而
已
。
服
务
器
父
进
程
并
不
会
处
理
客
户
端
请
求
,
而
是
由
它
的
子
进
程
来
处
理
。
谈
得
稍
远
一
点
。
我
们
说
两
个
事
件
是
并
行
时
,
到
底
是
什
么
意
思
?
e
l
s
e
:
#
p
a
r
e
n
t
c
l
i
e
n
t
_
c
o
n
n
e
c
t
i
o
n
.
c
l
o
s
e
(
)
#
c
l
o
s
e
p
a
r
e
n
t
c
o
p
y
a
n
d
l
o
o
p
o
v
e
r
l
i
s
t
e
n
_
s
o
c
k
e
t
.
c
l
o
s
e
(
)
#
c
l
o
s
e
c
h
i
l
d
c
o
p
y
f
o
r
k
并
行
事
件
我
们
说
两
个
事
件
是
并
行
的
,
通
常
指
的
是
二
者
同
时
发
生
。
这
是
简
单
的
定
义
,
但
是
你
应
该
牢
记
它
的
严
格
定
义
:
如
果
你
不
能
分
辨
出
哪
个
程
序
会
先
执
行
,
那
么
二
者
就
是
并
行
的
。
现
在
又
到
了
回
顾
目
前
已
经
介
绍
的
主
要
观
点
和
概
念
。
c
h
e
c
k
p
o
i
n
t
U
n
i
x
系
统
中
开
发
并
行
服
务
器
最
简
单
的
方
法
,
就
是
调
用
函
数
当
一
个
进
程
新
进
程
时
,
它
就
成
了
新
创
建
进
程
的
父
进
程
在
调
用
之
后
,
父
进
程
和
子
进
程
共
用
相
同
的
文
件
描
述
符
系
统
内
核
通
过
描
述
符
计
数
来
决
定
是
否
关
闭
文
件
/
套
接
字
服
务
器
父
进
程
的
角
色
:
它
现
在
所
做
的
只
是
接
收
来
自
客
户
端
的
新
连
接
,
一
个
子
进
程
来
处
理
该
客
户
端
的
请
求
,
然
后
回
到
循
环
的
起
点
,
准
备
接
受
新
的
客
户
端
连
接
f
o
r
k
(
)
f
o
r
k
f
o
r
k
f
o
r
k
接
下
来
,
我
们
看
看
如
果
不
关
闭
父
进
程
和
子
进
程
中
的
重
复
套
接
字
描
述
符
,
会
发
生
什
么
情
况
。
下
面
的
并
行
服
务
器
(
w
e
b
s
e
r
v
e
r
3
d
.
p
y
)
作
了
一
些
修
改
,
确
保
服
务
器
不
关
闭
重
复
的
:
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
C
o
n
c
u
r
r
e
n
t
s
e
r
v
e
r
-
w
e
b
s
e
r
v
e
r
3
d
.
p
y
#
#
#
#
T
e
s
t
e
d
w
i
t
h
P
y
t
h
o
n
2
.
7
.
9
&
P
y
t
h
o
n
3
.
4
o
n
U
b
u
n
t
u
1
4
.
0
4
&
M
a
c
O
S
X
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
i
m
p
o
r
t
o
s
i
m
p
o
r
t
s
o
c
k
e
t
S
E
R
V
E
R
_
A
D
D
R
E
S
S
=
(
H
O
S
T
,
P
O
R
T
)
=
'
'
,
8
8
8
8
R
E
Q
U
E
S
T
_
Q
U
E
U
E
_
S
I
Z
E
=
5
d
e
f
h
a
n
d
l
e
_
r
e
q
u
e
s
t
(
c
l
i
e
n
t
_
c
o
n
n
e
c
t
i
o
n
)
:
r
e
q
u
e
s
t
=
c
l
i
e
n
t
_
c
o
n
n
e
c
t
i
o
n
.
r
e
c
v
(
1
0
2
4
)
h
t
t
p
_
r
e
s
p
o
n
s
e
=
b
"
"
"
H
T
T
P
/
1
.
1
2
0
0
O
K
H
e
l
l
o
,
W
o
r
l
d
!
"
"
"
c
l
i
e
n
t
_
c
o
n
n
e
c
t
i
o
n
.
s
e
n
d
a
l
l
(
h
t
t
p
_
r
e
s
p
o
n
s
e
)
d
e
f
s
e
r
v
e
_
f
o
r
e
v
e
r
(
)
:
l
i
s
t
e
n
_
s
o
c
k
e
t
=
s
o
c
k
e
t
.
s
o
c
k
e
t
(
s
o
c
k
e
t
.
A
F
_
I
N
E
T
,
s
o
c
k
e
t
.
S
O
C
K
_
S
T
R
E
A
M
)
l
i
s
t
e
n
_
s
o
c
k
e
t
.
s
e
t
s
o
c
k
o
p
t
(
s
o
c
k
e
t
.
S
O
L
_
S
O
C
K
E
T
,
s
o
c
k
e
t
.
S
O
_
R
E
U
S
E
A
D
D
R
,
1
)
l
i
s
t
e
n
_
s
o
c
k
e
t
.
b
i
n
d
(
S
E
R
V
E
R
_
A
D
D
R
E
S
S
)
l
i
s
t
e
n
_
s
o
c
k
e
t
.
l
i
s
t
e
n
(
R
E
Q
U
E
S
T
_
Q
U
E
U
E
_
S
I
Z
E
)
p
r
i
n
t
(
'
S
e
r
v
i
n
g
H
T
T
P
o
n
p
o
r
t
{
p
o
r
t
}
.
.
.
'
.
f
o
r
m
a
t
(
p
o
r
t
=
P
O
R
T
)
)
c
l
i
e
n
t
s
=
[
]
w
h
i
l
e
T
r
u
e
:
c
l
i
e
n
t
_
c
o
n
n
e
c
t
i
o
n
,
c
l
i
e
n
t
_
a
d
d
r
e
s
s
=
l
i
s
t
e
n
_
s
o
c
k
e
t
.
a
c
c
e
p
t
(
)
#
s
t
o
r
e
t
h
e
r
e
f
e
r
e
n
c
e
o
t
h
e
r
w
i
s
e
i
t
'
s
g
a
r
b
a
g
e
c
o
l
l
e
c
t
e
d
#
o
n
t
h
e
n
e
x
t
l
o
o
p
r
u
n
c
l
i
e
n
t
s
.
a
p
p
e
n
d
(
c
l
i
e
n
t
_
c
o
n
n
e
c
t
i
o
n
)
p
i
d
=
o
s
.
f
o
r
k
(
)
i
f
p
i
d
=
=
0
:
#
c
h
i
l
d
l
i
s
t
e
n
_
s
o
c
k
e
t
.
c
l
o
s
e
(
)
#
c
l
o
s
e
c
h
i
l
d
c
o
p
y
h
a
n
d
l
e
_
r
e
q
u
e
s
t
(
c
l
i
e
n
t
_
c
o
n
n
e
c
t
i
o
n
)
c
l
i
e
n
t
_
c
o
n
n
e
c
t
i
o
n
.
c
l
o
s
e
(
)
o
s
.
_
e
x
i
t
(
0
)
#
c
h
i
l
d
e
x
i
t
s
h
e
r
e
e
l
s
e
:
#
p
a
r
e
n
t
#
c
l
i
e
n
t
_
c
o
n
n
e
c
t
i
o
n
.
c
l
o
s
e
(
)
p
r
i
n
t
(
l
e
n
(
c
l
i
e
n
t
s
)
)
i
f
_
_
n
a
m
e
_
_
=
=
'
_
_
m
a
i
n
_
_
'
:
s
e
r
v
e
_
f
o
r
e
v
e
r
(
)
启
动
服
务
器
:
然
后
通
过
命
令
连
接
至
服
务
器
:
我
们
看
到
,
命
令
打
印
了
并
行
服
务
器
的
响
应
内
容
,
但
是
并
没
有
结
束
,
而
是
继
续
挂
死
。
服
务
器
出
现
了
什
么
不
同
情
况
吗
?
服
务
器
不
再
继
续
睡
眠
6
0
秒
:
它
的
子
进
程
会
积
极
处
理
客
户
端
请
求
,
处
理
完
成
后
就
关
闭
客
户
端
连
接
,
然
后
结
束
运
行
,
但
是
客
户
端
的
命
令
却
不
会
终
止
。
服
务
器
不
再
睡
眠
,
其
子
进
程
积
极
处
理
客
户
端
请
求
那
么
为
什
么
命
令
会
没
有
结
束
运
行
呢
?
原
因
在
于
重
复
的
d
u
p
l
i
c
a
t
e
f
i
l
e
d
e
s
c
r
i
p
t
o
r
文
件
描
述
符
。
当
子
进
程
关
闭
客
户
端
连
接
时
,
系
统
内
核
会
减
少
客
户
端
套
接
字
的
计
数
,
变
成
了
1
。
服
务
器
子
进
程
结
束
了
,
但
是
客
户
端
套
接
字
并
没
有
关
闭
,
因
为
那
个
套
接
字
的
描
述
符
计
数
并
没
有
变
成
0
,
导
致
系
统
没
有
向
客
户
端
发
送
t
e
r
m
i
n
a
t
i
o
n
p
a
c
k
e
t
终
止
包
(
用
T
C
P
/
I
P
的
术
语
来
说
叫
做
F
I
N
)
,
也
就
是
说
客
户
端
仍
然
在
线
。
但
是
还
有
另
一
个
问
题
。
如
果
你
一
直
运
行
的
服
务
器
不
去
关
闭
重
复
的
文
件
描
述
符
,
服
务
器
最
终
就
会
耗
光
可
用
的
文
件
服
务
器
:
$
p
y
t
h
o
n
w
e
b
s
e
r
v
e
r
3
d
.
p
y
c
u
r
l
$
c
u
r
l
h
t
t
p
:
/
/
l
o
c
a
l
h
o
s
t
:
8
8
8
8
/
h
e
l
l
o
H
e
l
l
o
,
W
o
r
l
d
!
c
u
r
l
c
u
r
l
c
u
r
l
文
件
描
述
符
按
下
,
关
闭
服
务
器
,
然
后
通
过
s
h
e
l
l
自
带
的
命
令
查
看
服
务
器
进
程
可
以
使
用
的
默
认
资
源
:
从
上
面
的
结
果
中
,
我
们
可
以
看
到
:
在
我
这
台
U
b
u
n
t
u
电
脑
上
,
服
务
器
进
程
可
以
使
用
的
文
件
描
述
符
(
打
开
的
文
件
)
最
大
数
量
为
1
0
2
4
。
现
在
,
我
们
来
看
看
如
果
服
务
器
不
关
闭
重
复
的
文
件
描
述
符
,
服
务
器
会
不
会
耗
尽
可
用
的
文
件
描
述
符
。
我
们
在
现
有
的
或
新
开
的
终
端
窗
口
里
,
将
服
务
器
可
以
使
用
的
最
大
文
件
描
述
符
数
量
设
置
为
2
5
6
:
C
o
n
t
r
o
l
-
C
w
e
b
s
e
r
v
e
r
3
d
.
p
y
u
l
i
m
i
t
$
u
l
i
m
i
t
-
a
c
o
r
e
f
i
l
e
s
i
z
e
(
b
l
o
c
k
s
,
-
c
)
0
d
a
t
a
s
e
g
s
i
z
e
(
k
b
y
t
e
s
,
-
d
)
u
n
l
i
m
i
t
e
d
s
c
h
e
d
u
l
i
n
g
p
r
i
o
r
i
t
y
(
-
e
)
0
f
i
l
e
s
i
z
e
(
b
l
o
c
k
s
,
-
f
)
u
n
l
i
m
i
t
e
d
p
e
n
d
i
n
g
s
i
g
n
a
l
s
(
-
i
)
3
8
4
2
m
a
x
l
o
c
k
e
d
m
e
m
o
r
y
(
k
b
y
t
e
s
,
-
l
)
6
4
m
a
x
m
e
m
o
r
y
s
i
z
e
(
k
b
y
t
e
s
,
-
m
)
u
n
l
i
m
i
t
e
d
o
p
e
n
f
i
l
e
s
(
-
n
)
1
0
2
4
p
i
p
e
s
i
z
e
(
5
1
2
b
y
t
e
s
,
-
p
)
8
P
O
S
I
X
m
e
s
s
a
g
e
q
u
e
u
e
s
(
b
y
t
e
s
,
-
q
)
8
1
9
2
0
0
r
e
a
l
-
t
i
m
e
p
r
i
o
r
i
t
y
(
-
r
)
0
s
t
a
c
k
s
i
z
e
(
k
b
y
t
e
s
,
-
s
)
8
1
9
2
c
p
u
t
i
m
e
(
s
e
c
o
n
d
s
,
-
t
)
u
n
l
i
m
i
t
e
d
m
a
x
u
s
e
r
p
r
o
c
e
s
s
e
s
(
-
u
)
3
8
4
2
v
i
r
t
u
a
l
m
e
m
o
r
y
(
k
b
y
t
e
s
,
-
v
)
u
n
l
i
m
i
t
e
d
f
i
l
e
l
o
c
k
s
(
-
x
)
u
n
l
i
m
i
t
e
d
$
u
l
i
m
i
t
-
n
2
5
6
在
刚
刚
运
行
了
命
令
的
终
端
里
,
我
们
开
启
服
务
器
:
然
后
通
过
下
面
的
客
户
端
来
测
试
服
务
器
。
$
u
l
i
m
i
t
-
n
2
5
6
w
e
b
s
e
r
v
e
r
3
d
.
p
y
$
p
y
t
h
o
n
w
e
b
s
e
r
v
e
r
3
d
.
p
y
c
l
i
e
n
t
3
.
p
y
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
T
e
s
t
c
l
i
e
n
t
-
c
l
i
e
n
t
3
.
p
y
#
#
#
#
T
e
s
t
e
d
w
i
t
h
P
y
t
h
o
n
2
.
7
.
9
&
P
y
t
h
o
n
3
.
4
o
n
U
b
u
n
t
u
1
4
.
0
4
&
M
a
c
O
S
X
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
i
m
p
o
r
t
a
r
g
p
a
r
s
e
i
m
p
o
r
t
e
r
r
n
o
i
m
p
o
r
t
o
s
i
m
p
o
r
t
s
o
c
k
e
t
S
E
R
V
E
R
_
A
D
D
R
E
S
S
=
'
l
o
c
a
l
h
o
s
t
'
,
8
8
8
8
R
E
Q
U
E
S
T
=
b
"
"
"
G
E
T
/
h
e
l
l
o
H
T
T
P
/
1
.
1
H
o
s
t
:
l
o
c
a
l
h
o
s
t
:
8
8
8
8
"
"
"
d
e
f
m
a
i
n
(
m
a
x
_
c
l
i
e
n
t
s
,
m
a
x
_
c
o
n
n
s
)
:
s
o
c
k
s
=
[
]
f
o
r
c
l
i
e
n
t
_
n
u
m
i
n
r
a
n
g
e
(
m
a
x
_
c
l
i
e
n
t
s
)
:
p
i
d
=
o
s
.
f
o
r
k
(
)
i
f
p
i
d
=
=
0
:
f
o
r
c
o
n
n
e
c
t
i
o
n
_
n
u
m
i
n
r
a
n
g
e
(
m
a
x
_
c
o
n
n
s
)
:
s
o
c
k
=
s
o
c
k
e
t
.
s
o
c
k
e
t
(
s
o
c
k
e
t
.
A
F
_
I
N
E
T
,
s
o
c
k
e
t
.
S
O
C
K
_
S
T
R
E
A
M
)
s
o
c
k
.
c
o
n
n
e
c
t
(
S
E
R
V
E
R
_
A
D
D
R
E
S
S
)
s
o
c
k
.
s
e
n
d
a
l
l
(
R
E
Q
U
E
S
T
)
s
o
c
k
s
.
a
p
p
e
n
d
(
s
o
c
k
)
p
r
i
n
t
(
c
o
n
n
e
c
t
i
o
n
_
n
u
m
)
o
s
.
_
e
x
i
t
(
0
)
i
f
_
_
n
a
m
e
_
_
=
=
'
_
_
m
a
i
n
_
_
'
:
p
a
r
s
e
r
=
a
r
g
p
a
r
s
e
.
A
r
g
u
m
e
n
t
P
a
r
s
e
r
(
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页