Tag: 套接字

将邮件发送到Gmail帐户

我正在从我的Java应用程序向Gmail帐户发送邮件。 我使用过Java Mail API并且运行正常。 但是可以在不使用java中的邮件API的情况下发送电子邮件吗? 我的意思是只使用套接字: public class Main { public static void main(String[] args) throws Exception { String host = “smtp.gmail.com”; int port = 465; String from = “sh2rpzain@gmail.com”; String toAddr = “sharpzian@gmail.com”; Socket servSocket = new Socket(host, port); DataOutputStream os = new DataOutputStream(servSocket.getOutputStream()); DataInputStream is = new DataInputStream(servSocket.getInputStream()); if (servSocket != null && […]

套接字绑定错误

我有一个测试应用程序打开一个套接字,通过这个套接字发送一些东西,然后关闭它。 这循环完成5-10.000次。 问题是在3,4000次迭代后我得到了这种类型的错误: java.net.BindException: Address already in use: connect 我甚至将套接字设置为立即使用,但错误仍然存​​在 try { out_server.write(m.ToByteArray()); socket_server.setReuseAddress(true); socket_server.close(); } catch(Exception e) { e.printStackTrace(); System.out.println(i+” unable to register with the server”); } 我该怎么做才能解决这个问题?

在Android中隐藏密钥库密码的最佳方法是什么?

我是Android开发和实现SSLSockets的新手。 在做了一些挖掘后,我能够设置一个正常工作的简单服务器/客户端。 我认为实现可以使用一些工作,并且难以将密码加载到密钥库而不用纯文本。 这是客户端的一些代码。 如您所见,我将密码硬编码到本地var中。 是否有更好的方法加载密钥库密码,所以我没有在代码中以纯文本forms? char [] KSPASS = “password”.toCharArray(); char [] KEYPASS = “password”.toCharArray(); try { final KeyStore keyStore = KeyStore.getInstance(“BKS”); keyStore.load(context.getResources().openRawResource(R.raw.serverkeys), KSPASS); final KeyManagerFactory keyManager = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); keyManager.init(keyStore, KEYPASS); final TrustManagerFactory trustFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); trustFactory.init(keyStore); sslContext = SSLContext.getInstance(“TLS”); sslContext.init(keyManager.getKeyManagers(), trustFactory.getTrustManagers(), null); Arrays.fill(KSPASS, ‘ ‘); Arrays.fill(KEYPASS, ‘ ‘); KSPASS = null; KEYPASS = […]

Java websocket主机?

我正在尝试一些多人游戏的想法,我正在尝试创建一个Java应用程序来提供基于Web浏览器的多人游戏。 我的开发环境是主机上的Eclipse,以及笔记本电脑上的记事本+谷歌浏览器。 我在客户端使用javascript创建websocket,并在服务器端使用java.net.Socket。 我已经设法在两端确认连接,但似乎无法在客户端关闭连接的情况下发送或接收它们之间的任何数据(甚至没有错误;只是看起来吓坏了某事并调用套接字。关)。 有没有人有任何想法? 这是一些代码: 客户: var socket; function init() { socket = new WebSocket(“ws://192.168.0.3:10000”); socket.onopen = function() { alert(‘OPEN: ‘ + socket.readyState); } socket.onmessage = function (msg) { alert(‘DATA: ‘ + msg.data); } socket.onerror = function (msg) { alert(‘DATA: ‘ + msg.data); } socket.onclose = function () { alert(‘CLOSED: ‘ + socket.readyState); } […]

Java套接字编程

我正在使用java套接字构建一个简单的客户端/服务器应用程序并尝试使用ObjectOutputStream等。 我一直在关注这个教程http://java.sun.com/developer/technicalArticles/ALT/sockets ,当它谈到通过套接字传输对象时开始。 请参阅我的客户端代码http://pastebin.com/m37e4c577然而,这似乎不起作用,我无法弄清楚什么是不起作用。 底部注释掉的代码直接从教程中复制出来 – 当我只使用它而不是创建客户端对象时,这个工作正常。 谁能看到我做错了什么?

将正则表达式应用于Java I / O流

我寻找一个将正则表达式应用于Java I / O流的示例,该流不会简单地将流转换为字符串,因为我希望保留二进制数据。 互联网上的大多数例子都集中在文本数据上……

Java – 如何从inputStream(socket / socketServer)读取未知数量的字节?

希望使用inputStream在套接字上读取一些字节。 服务器发送的字节可以是可变数量的,并且客户端事先不知道字节数组的长度。 怎么可能完成? byte b[]; sock.getInputStream().read(b); 这会导致Net BzEAnSZ出现“可能未初始化错误”。 帮帮我。

具有套接字I / O阻塞操作的中断/停止线程

在我的服务器应用程序的某些时候,我想停止一些执行I / O阻塞操作的线程。 例如,其中一个具有以下run()方法: public void run() { System.out.println(“GWsocket thread running”); int len; byte [] buffer = new byte[1500]; try { this.in = new DataInputStream(this.socket.getInputStream()); this.out = new DataOutputStream(this.socket.getOutputStream()); running = true; while (running){ len = in.read (buffer); if (len < 0) running = false; else parsepacket (buffer, len); } }catch (IOException ex) { System.out.println("GWsocket […]

java DatagramSocket接收数据Multicast Socket发送数据

任何人都可以在java中向我展示一个从DatagramSocket接收数据并通过Multicast Socket发送相同数据的示例

java socket writeUTF()和readUTF()

我一直在阅读一些Java套接字代码片段,并且说明了在套接字通信中,为了按顺序发送消息,您不必手动分离它们,编写器/读取器流会自动为您完成这些操作。 这是一个例子: writer.java writeUTF(“Hello”); writeUTF(“World”); reader.java String a=readUTF(); // a=Hello String a=readUTF(); // b=World 我试过这个代码片段,它工作正常。 但是,我想知道这种编码风格是否应该正常工作。 是否存在按顺序使用套接字流而不明确分隔每个分段的潜在风险?