论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
IOT
[24610] 2016-01-11_自己动手开发一个Web服务器(三a)
文档创建者:
s7ckTeam
浏览次数:
3
最后更新:
2025-01-18
IOT
3 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2016-01-11_自己动手开发一个Web服务器(三a)
来
源
:
编
程
派
参
考
原
文
:
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
服
务
器
(
三
a
)
R
u
s
l
a
n
L
i
n
u
x
中
国
2
0
1
6
-
0
1
-
1
1
在
第
二
部
分
中
,
你
开
发
了
一
个
能
够
处
理
H
T
T
P
G
E
T
请
求
的
简
易
W
S
G
I
服
务
器
。
在
上
一
篇
的
最
后
,
我
问
了
你
一
个
问
题
:
“
怎
样
让
服
务
器
一
次
处
理
多
个
请
求
?
”
读
完
本
文
,
你
就
能
够
完
美
地
回
答
这
个
问
题
。
接
下
来
,
请
你
做
好
准
备
,
因
为
本
文
的
内
容
非
常
多
,
节
奏
也
很
快
。
文
中
的
所
有
代
码
都
可
以
在
G
i
t
h
u
b
仓
库
下
载
。
首
先
,
我
们
简
单
回
忆
一
下
简
易
网
络
服
务
器
是
如
何
实
现
的
,
服
务
器
要
处
理
客
户
端
的
请
求
需
要
哪
些
条
件
。
你
在
前
面
两
部
分
文
章
中
开
发
的
服
务
器
,
是
一
个
i
t
e
r
a
t
i
v
e
s
e
r
v
e
r
迭
代
式
服
务
器
,
还
只
能
一
次
处
理
一
个
客
户
端
请
求
。
只
有
在
处
理
完
当
前
客
户
端
请
求
之
后
,
它
才
能
接
收
新
的
客
户
端
连
接
。
这
样
,
有
些
客
户
端
就
必
须
要
等
待
自
己
的
请
求
被
处
理
了
,
而
对
于
流
量
大
的
服
务
器
来
说
,
等
待
的
时
间
就
会
特
别
长
。
客
户
端
逐
个
等
待
服
务
器
响
应
下
面
是
迭
代
式
服
务
器
的
代
码
:
w
e
b
s
e
r
v
e
r
3
a
.
p
y
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
如
果
想
确
认
这
个
服
务
器
每
次
只
能
处
理
一
个
客
户
端
的
请
求
,
我
们
对
上
述
代
码
作
简
单
修
改
,
在
向
客
户
端
返
回
响
应
之
后
,
增
加
6
0
秒
的
延
迟
处
理
时
间
。
这
个
修
改
只
有
一
行
代
码
,
即
告
诉
服
务
器
在
返
回
响
应
之
后
睡
眠
6
0
秒
。
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
I
t
e
r
a
t
i
v
e
s
e
r
v
e
r
-
w
e
b
s
e
r
v
e
r
3
a
.
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
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
)
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
)
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
)
)
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
(
)
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
(
)
i
f
_
_
n
a
m
e
_
_
=
=
'
_
_
m
a
i
n
_
_
'
:
s
e
r
v
e
_
f
o
r
e
v
e
r
(
)
让
服
务
器
睡
眠
6
0
秒
下
面
就
是
修
改
之
后
的
服
务
器
代
码
:
接
下
来
,
我
们
启
动
服
务
器
:
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
I
t
e
r
a
t
i
v
e
s
e
r
v
e
r
-
w
e
b
s
e
r
v
e
r
3
b
.
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
#
#
#
#
-
S
e
r
v
e
r
s
l
e
e
p
s
f
o
r
6
0
s
e
c
o
n
d
s
a
f
t
e
r
s
e
n
d
i
n
g
a
r
e
s
p
o
n
s
e
t
o
a
c
l
i
e
n
t
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
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
(
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
)
#
s
l
e
e
p
a
n
d
b
l
o
c
k
t
h
e
p
r
o
c
e
s
s
f
o
r
6
0
s
e
c
o
n
d
s
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
)
)
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
(
)
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
(
)
i
f
_
_
n
a
m
e
_
_
=
=
'
_
_
m
a
i
n
_
_
'
:
s
e
r
v
e
_
f
o
r
e
v
e
r
(
)
$
p
y
t
h
o
n
w
e
b
s
e
r
v
e
r
3
b
.
p
y
现
在
,
我
们
打
开
一
个
新
的
终
端
窗
口
,
并
运
行
命
令
。
你
会
立
刻
看
到
屏
幕
上
打
印
出
了
“
H
e
l
l
o
,
W
o
r
l
d
!
”
这
句
话
:
接
着
我
们
立
刻
再
打
开
一
个
终
端
窗
口
,
并
运
行
命
令
:
如
果
你
在
6
0
秒
了
完
成
了
上
面
的
操
作
,
那
么
第
二
个
命
令
应
该
不
会
立
刻
产
生
任
何
输
出
结
果
,
而
是
处
于
挂
死
(
h
a
n
g
)
状
态
。
服
务
器
也
不
会
在
标
准
输
出
中
打
印
这
个
新
请
求
的
正
文
。
下
面
这
张
图
就
是
我
在
自
己
的
M
a
c
上
操
作
时
的
结
果
(
右
下
角
那
个
边
缘
高
亮
为
黄
色
的
窗
口
,
显
示
的
就
是
第
二
个
命
令
挂
死
)
:
M
a
c
上
操
作
时
的
结
果
当
然
,
你
等
了
足
够
长
时
间
之
后
(
超
过
6
0
秒
)
,
你
会
看
到
第
一
个
命
令
结
束
,
然
后
第
二
个
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
h
t
t
p
:
/
/
l
o
c
a
l
h
o
s
t
:
8
8
8
8
/
h
e
l
l
o
c
u
r
l
c
u
r
l
c
u
r
l
c
u
r
l
命
令
会
在
屏
幕
上
打
印
出
“
H
e
l
l
o
,
W
o
r
l
d
!
”
,
之
后
再
挂
死
6
0
秒
,
最
后
才
结
束
:
c
u
r
l
命
令
演
示
这
背
后
的
实
现
方
式
是
,
服
务
器
处
理
完
第
一
个
客
户
端
请
求
后
睡
眠
6
0
秒
,
才
开
始
处
理
第
二
个
请
求
。
这
些
步
骤
是
线
性
执
行
的
,
或
者
说
迭
代
式
一
步
一
步
执
行
的
。
在
我
们
这
个
实
例
中
,
则
是
一
次
一
个
请
求
这
样
处
理
。
接
下
来
,
我
们
简
单
谈
谈
客
户
端
与
服
务
器
之
间
的
通
信
。
为
了
让
两
个
程
序
通
过
网
络
进
行
通
信
,
二
者
均
必
须
使
用
套
接
字
。
你
在
前
两
章
中
也
看
到
过
套
接
字
,
但
到
底
什
么
是
套
接
字
?
什
么
是
套
接
字
套
接
字
是
c
o
m
m
u
n
i
c
a
t
i
o
n
e
n
d
p
o
i
n
t
通
信
端
点
的
抽
象
形
式
,
可
以
让
一
个
程
序
通
过
f
i
l
e
d
e
s
c
r
i
p
t
o
r
文
件
描
述
符
与
另
一
个
程
序
进
行
通
信
。
在
本
文
中
,
我
只
讨
论
L
i
n
u
x
/
M
a
c
O
S
X
平
台
上
的
T
C
P
/
I
P
套
接
字
。
其
中
,
尤
为
重
要
的
一
个
概
念
就
是
T
C
P
s
o
c
k
e
t
p
a
i
r
套
接
字
对
。
c
u
r
l
T
C
P
连
接
所
使
用
的
套
接
字
对
是
一
个
4
-
t
u
p
l
e
4
元
组
,
包
括
本
地
I
P
地
址
、
本
地
端
口
、
外
部
I
P
地
址
和
外
部
端
口
。
一
个
网
络
中
的
每
一
个
T
C
P
连
接
,
都
拥
有
独
特
的
套
接
字
对
。
I
P
地
址
和
端
口
号
通
常
被
称
为
一
个
套
接
字
,
二
者
一
起
标
识
了
一
个
网
络
端
点
。
套
接
字
对
合
套
接
字
因
此
,
元
组
组
成
了
一
个
套
接
字
对
,
代
表
客
户
端
侧
T
C
P
连
接
的
两
个
唯
一
端
点
,
元
组
组
成
另
一
个
套
接
字
对
,
代
表
服
务
器
侧
T
C
P
连
接
的
两
个
同
样
端
点
。
构
成
T
C
P
连
接
中
服
务
器
端
点
的
两
个
值
分
别
是
I
P
地
址
和
端
口
号
,
它
们
在
这
里
被
称
为
一
个
套
接
字
(
同
理
,
客
户
端
端
点
的
两
个
值
也
是
一
个
套
接
字
)
。
服
务
器
创
建
套
接
字
并
开
始
接
受
客
户
端
连
接
的
标
准
流
程
如
下
:
{
1
0
.
1
0
.
1
0
.
2
:
4
9
1
5
2
,
1
2
.
1
2
.
1
2
.
3
:
8
8
8
8
}
{
1
2
.
1
2
.
1
2
.
3
:
8
8
8
8
,
1
0
.
1
0
.
1
0
.
2
:
4
9
1
5
2
}
1
2
.
1
2
.
1
2
.
3
8
8
8
8
服
务
器
创
建
套
接
字
并
开
始
接
受
客
户
端
连
接
的
标
准
流
程
1
.
服
务
器
创
建
一
个
T
C
P
/
I
P
套
接
字
。
通
过
下
面
的
P
y
t
h
o
n
语
句
实
现
:
2
.
服
务
器
可
以
设
置
部
分
套
接
字
选
项
(
这
是
可
选
项
,
但
你
会
发
现
上
面
那
行
服
务
器
代
码
就
可
以
确
保
你
重
启
服
务
器
之
后
,
服
务
器
会
继
续
使
用
相
同
的
地
址
)
。
3
.
然
后
,
服
务
器
绑
定
地
址
。
绑
定
函
数
为
套
接
字
指
定
一
个
本
地
协
议
地
址
。
调
用
绑
定
函
数
时
,
你
可
以
单
独
指
定
端
口
号
或
I
P
地
址
,
也
可
以
同
时
指
定
两
个
参
数
,
甚
至
不
提
供
任
何
参
数
也
没
问
题
。
4
.
接
着
,
服
务
器
将
该
套
接
字
变
成
一
个
侦
听
套
接
字
:
方
法
只
能
由
服
务
器
调
用
,
执
行
后
会
告
知
服
务
器
应
该
接
收
针
对
该
套
接
字
的
连
接
请
求
。
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
)
l
i
s
t
e
n
完
成
上
面
四
步
之
后
,
服
务
器
会
开
启
一
个
循
环
,
开
始
接
收
客
户
端
连
接
,
不
过
一
次
只
接
收
一
个
连
接
。
当
有
连
接
请
求
时
,
方
法
会
返
回
已
连
接
的
客
户
端
套
接
字
。
然
后
,
服
务
器
从
客
户
端
套
接
字
读
取
请
求
数
据
,
在
标
准
输
出
中
打
印
数
据
,
并
向
客
户
端
返
回
消
息
。
最
后
,
服
务
器
会
关
闭
当
前
的
客
户
端
连
接
,
这
时
服
务
器
又
可
以
接
收
新
的
客
户
端
连
接
了
。
要
通
过
T
C
P
/
I
P
协
议
与
服
务
器
进
行
通
信
,
客
户
端
需
要
作
如
下
操
作
:
客
户
端
与
服
务
器
进
行
通
信
所
需
要
的
操
作
下
面
这
段
示
例
代
码
,
实
现
了
客
户
端
连
接
至
服
务
器
,
发
送
请
求
,
并
打
印
响
应
内
容
的
过
程
:
在
创
建
套
接
字
之
后
,
客
户
端
需
要
与
服
务
器
进
行
连
接
,
这
可
以
通
过
调
用
方
法
实
现
:
客
户
端
只
需
要
提
供
远
程
I
P
地
址
或
主
机
名
,
以
及
服
务
器
的
远
程
连
接
端
口
号
即
可
。
a
c
c
e
p
t
i
m
p
o
r
t
s
o
c
k
e
t
#
c
r
e
a
t
e
a
s
o
c
k
e
t
a
n
d
c
o
n
n
e
c
t
t
o
a
s
e
r
v
e
r
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
(
(
'
l
o
c
a
l
h
o
s
t
'
,
8
8
8
8
)
)
#
s
e
n
d
a
n
d
r
e
c
e
i
v
e
s
o
m
e
d
a
t
a
s
o
c
k
.
s
e
n
d
a
l
l
(
b
'
t
e
s
t
'
)
d
a
t
a
=
s
o
c
k
.
r
e
c
v
(
1
0
2
4
)
p
r
i
n
t
(
d
a
t
a
.
d
e
c
o
d
e
(
)
)
c
o
n
n
e
c
t
s
o
c
k
.
c
o
n
n
e
c
t
(
(
'
l
o
c
a
l
h
o
s
t
'
,
8
8
8
8
)
)
你
可
能
已
经
注
意
到
,
客
户
端
不
会
调
用
和
方
法
。
不
需
要
调
用
方
法
,
是
因
为
客
户
端
不
关
心
本
地
I
P
地
址
和
本
地
端
口
号
。
客
户
端
调
用
方
法
时
,
系
统
内
核
中
的
T
C
P
/
I
P
栈
会
自
动
指
定
本
地
I
P
地
址
和
本
地
端
口
。
本
地
端
口
也
被
称
为
e
p
h
e
m
e
r
a
l
p
o
r
t
临
时
端
口
。
本
地
端
口
—
—
临
时
端
口
号
服
务
器
端
有
部
分
端
口
用
于
连
接
熟
知
的
服
务
,
这
种
端
口
被
叫
做
w
e
l
l
-
k
n
o
w
n
p
o
r
t
“
熟
知
端
口
”
,
例
如
,
8
0
用
于
H
T
T
P
传
输
服
务
,
2
2
用
于
S
S
H
协
议
传
输
。
接
下
来
,
我
们
打
开
P
y
t
h
o
n
s
h
e
l
l
,
向
在
本
地
运
行
的
服
务
器
发
起
一
个
客
户
端
连
接
,
然
后
查
看
系
统
内
核
为
你
创
建
的
客
户
端
套
接
字
指
定
了
哪
个
临
时
端
口
(
在
进
行
下
面
的
操
作
之
前
,
请
先
运
行
或
文
件
,
启
动
服
务
器
)
:
在
上
面
的
示
例
中
,
我
们
看
到
内
核
为
套
接
字
指
定
的
临
时
端
口
是
6
0
5
8
9
。
在
开
始
回
答
第
二
部
分
最
后
提
的
问
题
之
前
,
我
需
要
快
速
介
绍
一
些
其
他
的
重
要
概
念
。
稍
后
你
就
会
明
白
我
为
什
么
要
这
样
做
。
我
要
介
绍
的
重
要
概
念
就
是
p
r
o
c
e
s
s
进
程
和
f
i
l
e
d
e
s
c
r
i
p
t
o
r
文
件
描
述
符
。
什
么
是
进
程
?
进
程
就
是
正
在
执
行
的
程
序
的
一
个
实
例
。
举
个
例
子
,
当
服
务
器
代
码
执
行
的
时
候
,
这
些
代
码
就
被
加
载
至
内
存
中
,
而
这
个
正
在
被
执
行
的
服
务
器
的
实
例
就
叫
做
进
程
。
系
统
内
核
会
记
录
下
有
关
进
程
的
信
息
—
—
包
括
进
程
I
D
,
以
便
进
行
管
理
。
所
以
,
当
你
运
行
迭
代
式
服
务
器
b
i
n
d
a
c
c
e
p
t
b
i
n
d
c
o
n
n
e
c
t
w
e
b
s
e
r
v
e
r
3
a
.
p
y
w
e
b
s
e
r
v
e
r
3
b
.
p
y
>
>
>
i
m
p
o
r
t
s
o
c
k
e
t
>
>
>
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
(
(
'
l
o
c
a
l
h
o
s
t
'
,
8
8
8
8
)
)
>
>
>
h
o
s
t
,
p
o
r
t
=
s
o
c
k
.
g
e
t
s
o
c
k
n
a
m
e
(
)
[
:
2
]
>
>
>
h
o
s
t
,
p
o
r
t
(
'
1
2
7
.
0
.
0
.
1
'
,
6
0
5
8
9
)
或
时
,
你
也
就
开
启
了
一
个
进
程
。
服
务
器
进
程
我
们
在
终
端
启
动
服
务
器
:
然
后
,
我
们
在
另
一
个
终
端
窗
口
中
,
使
用
命
令
来
获
取
上
面
那
个
服
务
器
进
程
的
信
息
:
从
命
令
的
结
果
,
我
们
可
以
看
出
你
的
确
只
运
行
了
一
个
P
y
t
h
o
n
进
程
。
进
程
创
建
的
时
候
,
内
核
会
给
它
指
定
一
个
进
程
I
D
—
—
P
I
D
。
在
U
N
I
X
系
统
下
,
每
个
用
户
进
程
都
会
有
一
个
p
a
r
e
n
t
p
r
o
c
e
s
s
父
进
程
,
而
这
个
父
进
程
也
有
自
己
的
进
程
I
D
,
叫
做
父
进
程
I
D
,
简
称
P
P
I
D
。
在
本
文
中
,
我
默
认
大
家
使
用
的
是
B
A
S
H
,
因
此
当
你
启
动
服
务
器
的
时
候
,
系
统
会
创
建
服
务
器
进
程
,
指
定
一
个
P
I
D
,
而
服
务
器
进
程
的
父
进
程
P
I
D
则
是
B
A
S
H
s
h
e
l
l
进
程
的
P
I
D
。
w
e
b
s
e
r
v
e
r
3
a
.
p
y
w
e
b
s
e
r
v
e
r
3
b
.
p
y
w
e
b
s
e
r
v
e
r
3
a
.
p
y
$
p
y
t
h
o
n
w
e
b
s
e
r
v
e
r
3
b
.
p
y
p
s
$
p
s
|
g
r
e
p
w
e
b
s
e
r
v
e
r
3
b
|
g
r
e
p
-
v
g
r
e
p
7
1
8
2
t
t
y
s
0
0
3
0
:
0
0
.
0
4
p
y
t
h
o
n
w
e
b
s
e
r
v
e
r
3
b
.
p
y
p
s
w
e
b
s
e
r
v
e
r
3
b
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页