【Java套接字Socket】教程文章相关的互联网学习教程文章

java – 在准备好读取的多个套接字中进行选择

我正在编写服务器 – 客户端应用程序.我有一个服务器,它拥有我从ServerSocket的accept()方法获得的几个套接字.我想从这些套接字读取,但我不知道哪个套接字可以读取.我需要某种选择器来选择一个可以读取的套接字,所以我可以读取它发送的数据. 谢谢.解决方法:您基本上有两个选项可以使它工作: >每个接受的套接字都有专用线程.这是因为’常规’套接字I / O正在阻塞.您无法使用单个线程有选择地处理多个套接字.由于没有“偷看”功能,因...

java.net.SocketException:套接字失败:EPERM(不允许操作)【代码】

我正在开发一个包含多项活动的Android Studio项目.我目前正在尝试从localhost上读取Java Servlet的输出,但由于套接字权限,它似乎崩溃了. 我做了一个新项目,使用完全相同的代码并且工作得很好.所以我不明白为什么不愿意为我的项目工作.public class LoginActivity extends AppCompatActivity {String apiUrl = "http://10.0.2.2:8080/ProyectService/Servlet?action=login"; EditText username; EditText password; AlertDialog dia...

通过java中的套接字发送对象【代码】

我有2个java netbeans项目,一个是Server,另一个是Client.我有一个我创建的Message类,我希望将其传递给服务器,并在服务器上完成修改后返回到客户端.我在两个项目中都包含了Message类.我使用ObjectOutputStream和ObjectInputStream来传递对象.服务器和客户端之间的连接是正常的,对象通过但在服务器上,当我使用readObject()方法从ObjectInputStream读取对象时,我将其类型转换为Message类.但是在服务器上抛出了ClassNotFoundException....

java – SSL套接字连接【代码】

如何创建SSL套接字连接? 我真的需要创建一个密钥库?这个密钥库应该与我的所有客户端应用程序共享? 我用以下代码创建了一个服务器:SSLServerSocketFactory sslserversocketfactory = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault(); SSLServerSocket sslserversocket = (SSLServerSocket) sslserversocketfactory.createServerSocket(ServerProperties.getInstance().getVSSPAuthenticationPort());我在android...

Javamail无法将套接字转换为TLS GMail【代码】

我试图通过gmails SMTP Server使用JavaMail发送电子邮件.但是这段代码.final String username = "mygmail@gmail.com";final String password = "mygmailpassword";Properties props = new Properties();props.put("mail.smtp.auth", true);props.put("mail.smtp.starttls.enable", true);props.put("mail.smtp.host", "smtp.gmail.com");props.put("mail.smtp.port", "587");Session session = Session.getInstance(props,new java...

Java套接字/序列化,对象不会更新【代码】

我正在编写一个基于套接字的程序.我使用类ModelEvent通过套接字传递信息.在ModelEvent中,有一个类型(Object)的变量对象. 对象本身是具有一些值的2D数组.object[1][2] = 2; ModelEvent event = new ModelEvent("allo", object); dispatchEvent(event);object[2][3] = 2; ModelEvent event2 = new ModelEvent("you", object); dispatchEvent(event2);假设数组对象填充了值1.客户端收到第一个事件(事件),数据是正确的.通过数据发送的第...

将数据从iOS发送到Java套接字服务器并识别该消息【代码】

我不明白这一点,我在我的应用程序中执行此代码并且在服务器端不能很好地识别消息为什么?NSString *init = @"?II#$%_0"; NSData *myData = [init dataUsingEncoding:NSUTF16BigEndianStringEncoding]; uint8_t *readBytes = (uint8_t *)[myData bytes]; int size = [myData length]; int myInteger = CFSwapInt16HostToBig(size); NSInteger nwritten = [outputStream write:readBytes maxLength:myInteger];而在远程服务器的另一...

java – 数据报套接字在我的UDP程序中饿死其他线程【代码】

作为课程作业的一部分,我们的任务是在UDP层上提供额外的可靠性层,以便发送大图片文件.这是使用Go-Back-N协议:http://en.wikipedia.org/wiki/Go_back_N完成的 根据我的理解,这个问题的关键在于能够发送数据包,同时检查是否有任何致谢已经进入旧数据包,这将允许您移动窗口. 我目前通过两个线程执行此操作:如果窗口中有空间,则发送下一个数据包;并且不断地听取任何传入的确认并做出适当的反应. 我的问题是该程序应该是线程化的,就好...

新Java套接字的状态【代码】

当我在Java中声明时Socket s = new Socket((String)null, 12345);这实际上是打开套接字并使用系统和网络资源,还是延迟直到我附加输入/输出缓冲区?我想在我的程序开始时创建一个Socket对象,它被设置为连接到服务器,并根据需要打开/关闭它,而不是必须传递一个地址和端口(看起来更干净),但是如果它意味着端口将在整个时间打开. 编辑从答案看来,这不会像我想的那样起作用.如何创建一个全部使用地址设置并且只需连接的已关闭套接字?解...

java – 在聊天应用程序的套接字上被动侦听【代码】

我目前正在开发一个非常基本的聊天应用程序,但是当从客户端和服务器端接收字符串时遇到问题.我正在使用一个线程被动地监听套接字上的传入消息,这是我怀疑问题所在.我这样做是对的吗? 资源:发送字符串的代码:send.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){messageBuffer = message.getText();out.println(messageBuffer);chat.append(username + ": " + messageBuffer + "\n");messa...

java – 使用STARTTLS将套接字升级到SSLSocket:recv失败【代码】

我正在尝试使用STARTTLS将套接字升级到SSLSocket.在InspIRCd的维基上,这是它应该如何工作的>> STARTTLS << :test2.chatspike.net 670 nickname :STARTTLS successful, go ahead with TLS handshake (SSL Handshake)所以在我的代码中我写了(稍微简化)else if (code.equals("670")) {SSLSocketFactory sslSocketFactory = ((SSLSocketFactory) SSLSocketFactory.getDefault());SSLSocket sslSocket = (SSLSocket) sslSocketFactory.c...

java – 通过套接字发送图像【代码】

我最近正在尝试创建一个程序,就像teamviewer一样.它有点好,但我目前面临一个问题. 我试图让我的程序通过套接字发送图像.当我运行此代码时,它永远不会输出“应该发送图像!”,所以我认为问题出在ImageIO.write行中.BufferedImage screencapture = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())); try {ImageIO.write(screencapture, "jpg", socket.getOutputStream());System.out.p...

java – Genymotion与不同本地子网中的套接字通信

我有一台托管服务器的虚拟机,位于192.168.18.此服务器正在端口20000上侦听来自我的Android应用程序的连接.我在本地这样做是为了测试目的. Genymotion虚拟机位于192.168.57.1??,它似乎无法与其他服务器通信. 有没有办法改变Genymotion,以便它可以在192.168.1 / 24子网中运行,或者让它们正常通信?解决方法:你可以轻松实现这一目标.您需要让您的Genymotion设备具有桥接网络连接而不是NAT. >打开VirtualBox>选择要在本地网络上查看的设...

管理Java服务器应用程序中的多个套接字连接

在我们的新项目中,我们需要实现服务器应用程序.此服务器获取50,000()客户端的连接请求.问题是这些连接必须保持开放并且必须在某处进行管理.该应用程序应该像电话交换机一样工作.因此,它可以获得连接客户端的请求,并且只有在它们也连接时才将它们连接到其他(可能是几个)客户端.使用专有协议.我的问题是: 如何(以及在??何处)管理开放套接字?我应该把它们放在HashMap中吗?这听起来很好奇.但我没有这么多开放联系的经验. 是否有可用...

Java套接字:我的服务器输入流不会从客户端输出流中读取?【代码】

编辑:我很长,但有谁知道如何编程套接字? 我的问题让我有些困惑.我有一台服务器在一台计算机上运行而在另一台计算机上运行,??我有一个客户端连接到它.当我从客户端键入消息到控制台并发送它时,服务器似乎没有收到它.任何人都知道为什么,因为我在过去的3个小时里一直在测试打印到控制台,并且无法解决这个问题.我对套接字比较新,所以如果我只是个白痴,不要太苛刻. 继承了我的客户端代码:import java.net.*; import java.util.Scann...