java jdk底层socket通信实现源码问题
工作中碰到这个问题,就是新做了一个通信协议栈,想修改java的源码,让其socket通信支持该协议栈而不是原来的tcp/ip协议栈,我追踪代码到了这个函数,native void socketConnect(InetAddress address,int port,int timeout),但我找不到这个函数具体的实现内容,请教各位大神帮帮忙,这个函数是在哪实现的?。。。这个native是java和其他语言,譬如C沟通的作用,十分谢谢了。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(16)
回复
@寻梦2012 : 新的协议已经弄好了,现在关键是想让java环境支持这种协议问题
自定义应用层协议就行了吧
都是native了 你就改不了他的源代码了
你自己写c吧
话说,做java的人,从c封jni上来,感觉高大上啊
你思路错了。你想新定义一种协议可以用Netty啊!自定义协议通讯。没必要该底层。
回复
可否麻烦告知具体是改哪一部分?麻烦指教下。。谢谢了
你改JAVA API源码没用的,要改就改虚拟机源码才能实现
确实高端
你们用的真高端
回复
网卡和我这个问题有什么关系?另一种协议定义已经没什么问题了,也可以进行通信了,现在是要在这环境中部署javaweb环境
回复
你这不仅仅是TCP/IP了 而是涉及到了驱动层面了。。你用过wireahsrk了没?那里面的协议有点恐怖。
回复
我知道你的问题是什么问题。但是你自己不知道
回复
说网卡是给你个提示
你那个网卡支持吗?
openjdk有相关源代码,印象中应该在hotspot那一部分。为何不用JNI,重写这部分代码。如果修改了JVM源代码,后期代码维护和升级怎么跟进?
native是java底层实现的方法,直接是看不到源码的。可以去找找open jdk之类的看看有没有源码
java本身是不支持socket发送Raw的.但你可以借助第三方类库达到,或,jni调用C吧.