Tag: 网络编程

Java套接字,是死锁还是什么?

我有一个客户端服务器程序在服务器端使用套接字,并以这种方式进行读写 soc = serversocket.accept(); System.out.println(“Accepted”); in = new ObjectInputStream(soc.getInputStream()); out = new ObjectOutputStream(soc.getOutputStream()); if(in.readUTF() == null ? ” ” != null : !in.readUTF().equals(” “)) { diskinfo.setPath(in.readUTF()); } Item[] pac = diskinfo.get(); out.writeObject(pac); 同样在cilent(android)方面…… Log.v(“read”, “item”); soc = new Socket(InetAddress.getByName(“10.0.2.2”), 3838); output = new ObjectOutputStream(soc.getOutputStream()); input = new ObjectInputStream(soc.getInputStream()); try { output.writeUTF(path); packets = (Item[]) input.readObject(); […]

尝试连接到Symantec NetBackup时,JSch中的“算法协商失败”错误 – 远程扫描报告

我一直在网上搜索,发现类似的post,但找不到解决它们的解决方案。 我正在尝试使用来自计算机的ssh连接到NetBackup服务器并运行报告并基于它们创建图形。 我正在使用java和JSch库这样做。 问题是我得到: “算法协商失败”在com.jcraft.JSch.Session.recieve_kexinit(… 我对谈判和关键以及诸如diffie-hellman等不同方法知之甚少。您能告诉我:1。如何找出服务器接受的方法? 2.如果我需要建立一个谈判方法,我该怎么做? 记录器只告诉我这个: 远程版本字符串:SSH-2.0-OpenSSH_5.1本地版本字符串:SSH-2.0-JSCH-0.1.31 SSH_MSG_KEXINIT收到SSH_MSG_KEXINIT发送 PS。 我在受限制的系统下工作,这意味着我无法在服务器上进行更改。 如果您需要其他信息,请与我们联系。 谢谢

与(外部)Python服务器的网络连接

我创建了一个Java客户端,它应该连接到python服务器。 作为一个独立的,它工作得非常好,建立连接并发送数据。 public class ClientTest { public static void main(String args[]) { requestGazeData(); } public static void requestGazeData() { ZMQ.Context context = ZMQ.context(1); ZMQ.Socket request = context.socket(ZMQ.REQ); request.connect(“tcp://xxx.xxx:50020”); // Ask for the sub port request.send(“SUB_PORT”); String subPort = request.recvStr(); System.out.println(“subPort: ” + subPort); // open a sub port to listen to pupil ZMQ.Socket subscriber = […]

使用并发I / O的Java套接字编程

我刚刚得到了一个任务。它是设计一个接受传入客户端连接的java套接字服务器。服务器的工作是接受它并跟踪所有连接的客户端,它必须将连接的客户端列表通告给所有连接的客户端我是Java的新手。我只知道这个任务必须在线程的帮助下完成。我在Java I / O,网络和线程方面有一些知识。但是我无法在一个单独的方面协作所有这些概念。如果有人提供模型程序,或者如何继续,那将会有所帮助,那么它会有所帮助。 谢谢,Madhu

Sigar网速

这个lib对于获得cpu,ram和其他工作人员来说真是太棒了。 但是,我无法弄清楚,如何获得网络速度。 这意味着。 在一段时间内发送和接收的数据量是多少? 有没有办法给我这个数据? 这可能是我要搜索的内容吗? Tcp stat = sigar.getTcp(); stat.getInSegs() + ” segments received” stat.getOutSegs() + ” segments send out” 如果在sigar中没有办法,是否还有其他lib可供使用? 感谢帮助

UDP通过Internet。 它是如何工作的?

当我正在编程网络聊天(java,但不应该对问题产生影响),并且想要使用UDP时,我遇到了它无法通过互联网工作的问题。 经过一番研究后,我发现你必须为激活的特定端口进行端口转发。 所以现在谈到我的问题: UDP是否以不可配置的方式在Internet上工作? 例如,如果我要编写整个网络游戏,那么使用UDP是否有意义? 或者我是否要求播放器激活Portforwarding并打开端口等? 什么时候使用UDP呢? 为什么? 我实际上并不理解UDP的全部要点。 对于我的编程观点,我希望有一种方法可以直观地使用它。 与创建DatagramSocket和DatagramPacket ,使用数据和目标配置数据包并通过Internet将其发送出去。 至于我的用户我不希望他们必须配置任何特定的东西,比如打开他们想要使用的确切端口等等。我只是希望他们使用程序(服务器和客户端),它应该工作。

如果端口对多播组无关紧要,为什么DatagramSocket.joinGroup()方法采用SocketAddress?

我只是好奇。 这是API错误吗? 加入组播组时,不要使用端口,只使用组播组(IP)作为组播组,对吗? 这是一个令人烦恼的情况,是否会使用PORT?

在实际的Java程序中使用IPv6

IPv6的使用现在正在慢慢开始,所以我目前正在修复和更新所有为IPv6做好准备的应用程序。 其中一个应用程序是Java编辑器JOSM( http://josm.openstreetmap.de/ )。 即使操作系统使用IPv6,Java也不会在默认配置中使用IPv6。 根据http://docs.oracle.com/javase/1.5.0/docs/guide/net/ipv6_guide/#using我将java.net.preferIPv6Addresses设置为true以使其使用IPv6。 结果是关于互联网连接中断的用户错误报告。 似乎Java只切换到使用IPv6地址而不是IPv4,但不做其他事情。 我维护的所有基于C / C ++的软件都已更改为检查并尝试所有可用的IP地址,因此只要其中一个地址有效,就会跳过损坏的IPv6(或IPv4)地址。 对我来说,看起来Java只尝试一次,这在现实世界中不起作用。 当IPv6通过隧道传输时,OS通常也更喜欢IPv4而不是IPv6。 看起来Java也忽略了这个设置。 所以我的问题是:在没有破坏IPv4用户的应用程序的情况下,有没有什么好方法可以让Java应用程序默认使用IPV6。 用户错误报告: http : //josm.openstreetmap.de/ticket/8562,http : //josm.openstreetmap.de/ticket/8627 。

Android设备:“新ServerSocket(6000)”上的权限被拒绝exception

我在Android设备的new ServerSocket(6000)上获得“Permission Denied”exception。 我已经阅读了一些post,说明你必须在清单中加入android.permission.INTERNET权限。 我已经获得了此许可,我仍然收到此消息。

使用java在网站上实现家长控制

我想在java中编写一个独立的应用程序来控制对受限制网站的访问,而当父母不在时,孩子们会使用互联网。 主要想法是根据正在浏览的人阻止成人/不受欢迎的网站。 用例如下: 1.用户打开浏览器。 2.我们的应用程序(在后台运行)应弹出一个validation框并要求用户输入密码。 3.根据输入的密码,应用程序会将用户识别为成人或小孩。 4.如果是成人,网站将不受限制。 5.如果是孩子,则必须执行以下操作:(a)浏览器中请求的所有URL都必须记录在日志文件中。 (b)必须阻止成人/不需要的网站打开,并且必须在浏览器中显示警告页面。 我的问题是:这个应用程序可以用java实现吗? 如果有,怎么样? 我如何监控响应并根据我的条件过滤它们? 我认为通过在java中使用套接字编程可能是可能的。 任何forms的帮助表示赞赏。