# touj **Repository Path**: zhengyitian/touj ## Basic Information - **Project Name**: touj - **Description**: 利用udp实现tcp连接,适用于与服务器tcp连不上,但是udp能连上的场景。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 18 - **Forks**: 1 - **Created**: 2020-03-27 - **Last Updated**: 2021-05-17 ## Categories & Tags **Categories**: web-dev-toolkits **Tags**: None ## README 利用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有参数设置说明,本版本与其相似,可以参见之。如果以后 有机会,我会加上代码说明,并完善参数说明。