Score
0
Watch 5 Star 15 Fork 1

郑一天 / toujPython

Join us
Explore and code with more than 5 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Without author's permission, this code is only for learning and cannot be used for other purposes.
利用udp实现tcp连接,适用于与服务器tcp连不上,但是udp能连上的场景。 spread retract

Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

利用udp实现tcp连接。

将本程序客户端运行在要做客户端的电脑,服务端运行在做服务端的电脑。

客户端的其他程序访问本程序开放的端口(比如127.0.0.1:9997),

相当于连接到服务端其他程序开放的端口(比如8080)。支持同时多个连接。

应用场景:和公网服务器tcp连不上,但是udp能连上。

程序的设计思路是先利用udp建立一个稳定连接(相当于一个tcp连接),

再利用这一个连接实现多连接。

python版支持客户端和服务端,Android和java版只支持客户端,

java、Android版的客户端可以和python版的服务端配套使用。服务端只

适配了linux。客户端可以在windows,linux,andorid上运行。

不依赖第三方库,利用异步socket实现。

之前用python写过一个版本(见本人的tcp_over_udp库),其问题是手机版

效果不太好。这次重构没有改变udp建一个连接的部分,改动了一个tcp代理多个

tcp的部分,以前是用tornado实现的,现在是直接用socket。并且增加了java

客户端,在手机上运行效果比较理想。

使用方法:服务端运行tous.py,客户端运行touc.py(java 则是touc.java,android点start按钮),

客户端的程序访问本地9997端口会被转到服务端的8080端口。

之前的tcp_over_udp有参数设置说明,本版本与其相似,可以参见之。如果以后

有机会,我会加上代码说明,并完善参数说明。

Comments ( 3 )

Sign in for post a comment

Python
1
https://gitee.com/zhengyitian/touj.git
git@gitee.com:zhengyitian/touj.git
zhengyitian
touj
touj
master

Help Search

205735 778617b6 1899542 205747 347fc4a1 1899542