jmfs.net
当前位置:首页>>关于java 如何从收到的socket中取得IP?的资料>>

java 如何从收到的socket中取得IP?

java中从Socket中获取IP地址通过Socket的getInetAddress()方法即可获得Socket中的Ip地址.其中Socket中还可以通过getLocalAddress()获取Socket绑定的本地地址.

你说的是客户端本地ip吧,String ip = InetAddress.getLocalHost().getHostAddress();System.out.println(ip);

accept时,得到和客户连接的Socket,就可以InetAddress getInetAddress()Returns the address to which the socket is connected.来取得IP了

新建一个ServerSocket对象然后用accept()方法接受请求连接的Socket对象在调用获得的Socket对象的getInetAddress()方法获取InetAddress对象在调用InetAddress对象的getHostAddress方法来获取IP地址.

网络通信可分为两种模式:TCP有连接的通信 UDP无连接的通信依照上述的问题我可以理解为你是要进行有连接的通信.是要经过三次握手才能实现可靠的连接 第一次:建立连接时三次握手,客户端发送syn包(syn=j)到服务器,并进入SYN_

serversocket不提供这个方法,但是server端获取到的请求new serversocket().accept()返回的是一个socket对象,也就是当前连接的信息,这里面包含有一个 getRemoteAddress方法.多看看API

首先你需要解析外部传进来的数据包,正常情况下,通信数据包的包头已经包含了数据包的源端和目的端地址.目的端地址自然是你的IP地址,而你所要做的就是对源端地址进行判断.如果源端地址是你指定的,那就解析数据包的净载荷部分(payload),进行相应的处理;若不是你指定的,那么就不要处理,直接丢弃就好了.这部分设计到socket底层编程,我以前用C#编写过,完全可以实现.

既然是Socket点对点的都会是长连接socket对象有socket.getInetAddress();socket.getPort()就可以得到对方的ip和端口号

用getsockname()等命令,这些都是windows的api接口上的函数库,在vb中可参考vb难点的编程,就有相关介绍.现在手头没程序,有了再给你.

request.getRemoteAddr();好像是这个方法可以获得远程服务器上的IP然后使用这个IP,JDBC连接就好了

lstd.net | ntjm.net | ltww.net | realmemall.net | kcjf.net | 网站首页 | 网站地图
All rights reserved Powered by www.jmfs.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com