Skip to content

Commit 751d146

Browse files
author
a kun
committedFeb 25, 2012
Format Code Style
1 parent 9839ae5 commit 751d146

File tree

1 file changed

+35
-36
lines changed

1 file changed

+35
-36
lines changed
 

‎rtcp.py

+35-36
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
#!/usr/bin/env python
2-
#coding:utf-8
1+
# -*- coding: utf-8 -*-
32

4-
'''filename:rtcp.py
3+
'''
4+
filename:rtcp.py
55
@desc:
66
利用python的socket端口转发,用于远程维护
77
如果连接不到远程,会sleep 36s,最多尝试200(即两小时)
@@ -17,12 +17,13 @@
1717
@date: 2009-7
1818
'''
1919

20-
import threading
2120
import socket
22-
import sys,os,time
21+
import sys
22+
import threading
23+
import time
2324

24-
streams = [None,None] #存放需要进行数据转发的两个数据流(都是SocketObj对象)
25-
debug = 1 #调试状态 0 or 1
25+
streams = [None, None] # 存放需要进行数据转发的两个数据流(都是SocketObj对象)
26+
debug = 1 # 调试状态 0 or 1
2627

2728
def _usage():
2829
print 'Usage: ./rtcp.py stream1 stream2\nstream : l:port or c:host:port'
@@ -48,7 +49,7 @@ def _get_another_stream(num):
4849
else:
4950
time.sleep(1)
5051

51-
def _xstream(num,s1,s2):
52+
def _xstream(num, s1, s2):
5253
'''
5354
交换两个流的数据
5455
num为当前流编号,主要用于调试目的,区分两个回路状态用。
@@ -82,65 +83,65 @@ def _xstream(num,s1,s2):
8283

8384
streams[0] = None
8485
streams[1] = None
85-
print num,"CLOSED"
86+
print num, "CLOSED"
8687

87-
def _server(port,num):
88+
def _server(port, num):
8889
'''
8990
处理服务情况,num为流编号(第0号还是第1号)
9091
'''
91-
srv = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
92-
srv.bind(('0.0.0.0',port))
92+
srv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
93+
srv.bind(('0.0.0.0', port))
9394
srv.listen(1)
94-
while 1:
95-
conn,addr = srv.accept()
96-
print "connected from:",addr
97-
streams[num] = conn #放入本端流对象
98-
s2 = _get_another_stream(num) #获取另一端流对象
99-
_xstream(num,conn,s2)
95+
while True:
96+
conn, addr = srv.accept()
97+
print "connected from:", addr
98+
streams[num] = conn # 放入本端流对象
99+
s2 = _get_another_stream(num) # 获取另一端流对象
100+
_xstream(num, conn, s2)
100101

101-
def _connect(host,port,num):
102-
''' 处理连接,num为流编号(第0号还是第1号)
102+
def _connect(host, port, num):
103+
''' 处理连接num为流编号(第0号还是第1号)
103104
104105
@note: 如果连接不到远程,会sleep 36s,最多尝试200(即两小时)
105106
'''
106107
not_connet_time = 0
107108
wait_time = 36
108109
try_cnt = 199
109-
while 1:
110+
while True:
110111
if not_connet_time > try_cnt:
111112
streams[num] = 'quit'
112113
print('not connected')
113114
return None
114115

115-
conn=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
116+
conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
116117
try:
117-
conn.connect((host,port))
118+
conn.connect((host, port))
118119
except Exception, e:
119-
print ('can not connect %s:%s!'%(host,port))
120+
print ('can not connect %s:%s!' % (host, port))
120121
not_connet_time += 1
121122
time.sleep(wait_time)
122123
continue
123124

124-
print "connected to %s:%i" %(host,port)
125+
print "connected to %s:%i" % (host, port)
125126
streams[num] = conn #放入本端流对象
126127
s2 = _get_another_stream(num) #获取另一端流对象
127-
_xstream(num,conn,s2)
128+
_xstream(num, conn, s2)
128129

129130

130131
if __name__ == '__main__':
131132
if len(sys.argv) != 3:
132133
_usage()
133134
sys.exit(1)
134-
tlist = [] #线程列表,最终存放两个线程对象
135-
targv = [sys.argv[1],sys.argv[2] ]
136-
for i in [0,1]:
137-
s = targv[i] #stream描述 c:ip:port 或 l:port
135+
tlist = [] # 线程列表,最终存放两个线程对象
136+
targv = [sys.argv[1], sys.argv[2] ]
137+
for i in [0, 1]:
138+
s = targv[i] # stream描述 c:ip:port 或 l:port
138139
sl = s.split(':')
139-
if len(sl) == 2 and (sl[0] == 'l' or sl[0] == 'L'): #l:port
140-
t = threading.Thread(target=_server,args=(int(sl[1]),i))
140+
if len(sl) == 2 and (sl[0] == 'l' or sl[0] == 'L'): # l:port
141+
t = threading.Thread(target=_server, args=(int(sl[1]), i))
141142
tlist.append(t)
142-
elif len(sl) == 3 and (sl[0] == 'c' or sl[0] == 'C'): #c:host:port
143-
t = threading.Thread(target=_connect,args=(sl[1],int(sl[2]),i))
143+
elif len(sl) == 3 and (sl[0] == 'c' or sl[0] == 'C'): # c:host:port
144+
t = threading.Thread(target=_connect, args=(sl[1], int(sl[2]), i))
144145
tlist.append(t)
145146
else:
146147
_usage()
@@ -151,5 +152,3 @@ def _connect(host,port,num):
151152
for t in tlist:
152153
t.join()
153154
sys.exit(0)
154-
#EOF
155-

0 commit comments

Comments
 (0)
Please sign in to comment.