java访问内网
java访问共享文件夹,读取局域网中一台机器的共享目录中的文件,需要jcifs-1.1.11.jar的支持,使用SMB协议,以下是实现了远程读取文件的功能代码:
packagejunit;
importjcifs.smb.SmbFile;
/**
*java访问局域网共享目录
*
*@authoradministrator
*@version1.02015-7-6
*/
publicclassSmbTest{
publicstaticvoidmain(String[]args)throwsException{
//smb://xxx:[email protected]/testIndex/
//xxx:xxx是共享机器的用户名密码
Stringurl="smb://192.168.2.188/testIndex/";
SmbFilefile=newSmbFile(url);
if(file.exists()){
SmbFile[]files=file.listFiles();
for(SmbFilef:files){
System.out.println(f.getName());
}
}
}
}
B. 如何用java获得局域网内所有ip最好用arp方法,ping的太慢
需要遍历局域网IP的,大体分为两步:
1.得到局域网网段,可由自己机器的IP来确定
2.根据IP类型,一次遍历局域网内IP地址 给一个JAVA类,编译之后直接运行便可以得到局域网内所有IP,具体怎样使用自己编写相应代码调用便可 代码如下:
package bean;
import java.io.*;
import java.util.*;
C. java如何实现穿透nat
java使不能实现的,这是网管的问题,要想使外网访问内网,必须使你们的主机与你们要访问的机子建立端口上的映射关系。
比如建立ftp服务器,让外网访问。必须把内网被访问的机器与主机的21端口绑定。当外网访问你们主机的时间,主机就自动指向你的内网机器。
访问主机:http://192.168.1.1(假如主机是);尽行路由设置,即网上说的nat设置,单价左边菜单“nat”,在右边会看到虚拟服务配置,名称随便填,填写要开放的机器的ip地址,选择下面的协议为“ftp”;端口自动填好了,最后单击添加就填好了。
加入你们的主机ip是“202.102.224.13”外部访问时就在浏览器输入:
"ftp://202.102.224.13";就搞定了;
被访问及其必须建立ftp服务器,具体建立服务器,可以下载软件,比如“server-u”,设置根据提示看就好了。
主机ip可以在主机的“系统信息”里面的默认网关看到;主机登录账号密码一般是“guest”;
祝你好运!呵呵!
加油!
D. java访问局域网的内数据库
直接写jdbc连接代码连接数据进行操作就可以了。
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.5 :1521:NMS", "用户名", "密码");
StatemMent stm=conn.createStatement();
String sql="delete from user where userId='"+id+"'";
stm.executeUpdate(sql);
E. java socket编程 怎么访问内网的服务器
我的方向有点和你不一样,但是关于socket的一般是差不多的,建议你找找socket流的知识.
Socket内含输入,输出流,只需获取Socket的流对象,就可以对流进行读写操作了。比如,若想向Socket的输出流写数据,只须另一方从自己的Socket的输入流中读取数据即可给你个例子吧,是模拟客户端和服务器端的数据交互.
//客户端import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.Socket;
public class MyClent { public static void main(String[] args) { PrintStream ps = null; BufferedReader br = null; BufferedReader message = null; try { Socket scoket = new Socket("127.0.0.1", 1254); ps = new PrintStream(scoket.getOutputStream()); br = new BufferedReader(new InputStreamReader(scoket.getInputStream())); message = new BufferedReader(new InputStreamReader(System.in)); while(true){ ps.println("客户端向服务器发送的数据是:"+message.readLine()); System.out.println(br.readLine()); ps.flush(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
//服务器端import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.ServerSocket;import java.net.Socket;
public class MyServer {
/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub PrintStream ps = null; BufferedReader br = null; BufferedReader message = null; try { ServerSocket server = new ServerSocket(1254); Socket scoket = server.accept();// new Test(scoket); ps = new PrintStream(scoket.getOutputStream()); br = new BufferedReader(new InputStreamReader(scoket.getInputStream())); message = new BufferedReader(new InputStreamReader(System.in)); while(true){ System.out.println(br.readLine()); ps.println("服务器向客户端发送的数据是:"+message.readLine()); ps.flush(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
}</p></font></p>
F. java如何与内网连接
在路由上做端口映射,,,,,,,就有内网的IP无关、只和端口有关。。。。。。。。
G. java怎么获取当前电脑的内网ip
public void PingAll() throws Exception{
//首先得到本机的IP,得到网段
InetAddress host = InetAddress.getLocalHost();
String hostAddress = host.getHostAddress();
int k=0;
k=hostAddress.lastIndexOf(".");
String ss = hostAddress.substring(0,k+1);
for(int i=1;i <=255;i++){ //对所有局域网Ip
String iip=ss+i;
Ping(iip);
}
H. 如何使用Java 的Socket实现内网和外网之间的通信。 我能实现局域网的。 有人说在网关上做映射
内网和外网连接,这要看你的主动连接方(Client)和被动连接方(Server)各处于什么位置
1、假设Server方在外网,Client方在内网,那么可以直接通过外网IP连接,不需要任何映射
2、假设Server方在内网,Client方不论在其他内网还是在外网,都需要Server方的监听端口有被外网访问的权限,可以通过端口映射的方式实现,如果没有自己的外网服务器做端口映射的话,建议你直接使用花生壳软件
I. java web项目如何外网、内网相互传输数据(对象、文件)使用什么技术,在线等
对象也可以不传输,使用远程调用技术,外面网上的程序访问内网服务器中的对象。对象消息可以使用mq传输,是一个消息队列。