V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
webgeekman
V2EX  ›  问与答

Java如何监听TCP请求,并将请求转为Http发送,将返回结果再以TCP协议返回请求方?

  •  
  •   webgeekman · 2012-01-03 16:48:16 +08:00 · 11770 次点击
    这是一个创建于 4707 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近一个项目需要将Tcp、http请求进行转换,之前没有任何相关经验,所以根本不知道拿什么关键字搜索能够找到有效的技术资料。
    各位能够提供一些查询关键字或者相关资料的建议就可以。我回头自己研究。当然有这方面的经验者若能不吝赐教的话,当然更是加倍感激了!!

    我之前只有web开发的经验,所以遇到TCP请求的问题,连如何使用java进行监听、tcp请求如何发送能够让接收方捕获都不清楚。
    6 条回复    1970-01-01 08:00:00 +08:00
    9hills
        1
    9hills  
       2012-01-03 17:20:01 +08:00
    Google "java socket"
    daqing
        2
    daqing  
       2012-01-03 19:27:16 +08:00
    看一下Apache MINA吧。
    notedit
        3
    notedit  
       2012-01-03 22:31:20 +08:00
    基本的socket操作会吧 ?

    创建一个监听socket, 处理tcp请求, 读取tcp请求的内容,解析内容。 然后java 有一个HttpClient包,然后创建一个HTTPClient进行http 的请求,取得内容后,再传给那个tcp 请求。
    webgeekman
        4
    webgeekman  
    OP
       2012-01-04 09:54:02 +08:00
    @notedit 非常感谢!马上明白怎么回事了。
    再问个问题:基于web框架监听socket请求能实现吗?是不是最好做成jar文件执行比较好?
    notedit
        5
    notedit  
       2012-01-04 13:06:16 +08:00
    @webgeekman web框架一般都是来处理http请求的 你可以google “java network lib” 找一些tcp 的处理框架。 已经两三年没写过java代码了 java有哪些tcp 的框架也不太清楚
    kafka0102
        6
    kafka0102  
       2012-01-04 16:22:24 +08:00
    @webgeekman 我自己写了一个http加密代理程序 https://github.com/kafka0102/xhttpproxy 可能和你的需求有些像,可以参考下。它接收特定格式的tcp或http(依赖选择使用的avro传输协议)请求(传输内容经过了加密),解析出来后通过httpclient请求http页面,然后将结果加密后返回给客户端。这个东西就是放在国外的vps上的,解决墙的问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2684 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:20 · PVG 20:20 · LAX 04:20 · JFK 07:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.