【带有Java套接字的GET请求】教程文章相关的互联网学习教程文章

java – 空套接字InputStream【代码】

我正在尝试用Java构建一个简单的Web服务器,但我遇到了一个非常奇怪的问题.当我尝试从Socket读取InputStream时,有时无法读取数据.我正在遵循的流程如下: 我创建一个ServerSocket,监听端口80,并调用accept()来获取一个Socket.然后我从浏览器(Firefox)向localhost发送请求,触发accept()返回Socket. 有时,它会完美地读取HTTP请求.其他时候,它无法读取任何数据(read()返回-1). 下面是一些示例代码来说明我正在做什么,没有抛出任何异常处...

java – Android TCP套接字客户端/服务器实现【代码】

我是Java和Android的新手,我正在尝试创建一个服务器/客户端应用程序.目前我在PC上运行服务器,客户端在Android设备上.通信发生并且一切正常,但我想区分来自客户端的传入消息,以便在服务器上执行不同的操作.这是服务器的代码.客户很简单,运作良好.例如,当我从客户端发送“姓名”时,服务应回答“Matteo”,但它总是回答“其他”,我不明白为什么!我想问题是在语句if(dataInputStream.equals(“Name”)){ 谢谢.import java.io.DataInput...

如何在Java中立即识别出断开的套接字连接?

我有一个典型的Java客户端和服务器.客户端向服务器发送一些请求并等待响应.客户端从包含的输入流中读取100个字节的数据到一个字节数组中.它等待在指定的超时时间(例如3秒)内读取100字节的完整响应.这里的问题是在写入响应时/之前确定服务器是否发生故障或崩溃.基本上,我们需要确定套接字是否因为某些原因而断开或者对等端断开连接.有没有办法识别这个?解决方法:How to identify a broken socket connection in Java immediately?您...

是否可以创建一个Java UDP套接字来监听所有地址?

我想有一个DatagramSocket来监听单播和广播消息.这可能吗?解决方法:根据定义,广播是传输功能. 如果您的UDP套接字正在侦听特定端口并绑定到INADDR_ANY(又名0.0.0.0),那么它将接收发送到该端口的所有数据包,无论它们是否被发送到本地计算机的特定IP地址(即单播),或者到本地子网的广播地址.

线程的Java开销.我应该使用套接字还是套接字通道?

我有两个设计用于即时消息程序,我正在用Java编写 第一个想法使用2个单独的线程.第一个线程忽略了gui,并通过写入阻塞套接字发送即时消息数据.第二个线程使用另一个阻塞套接字来监视来自朋友的传入数据包.我不确定使用线程是否是解决此问题的最佳方法,但我发现它比使用非阻塞套接字通道更容易处理. 我的第二个设计是在一个线程中使用非阻塞套接字通道,偶尔会检查是否有传入或传出数据.这个设计的好处是我不必担心线程之间的资源共享,...

java – Selector.close()是否关闭所有客户端套接字?

我是nio套接字的新手,我使用nio套接字编写了一个服务器,现在我正在尝试编写shutdown hook以确保通过清理资源来优雅退出. 我的问题是Selector.close()方法关闭所有客户端套接字?如果没有,请告诉我如何访问所有客户端套接字,而无需单独列出它们. Java Doc说跟随selector.close()方法Closes this selector. If a thread is currently blocked in one of thisselector’s selection methods then it is interrupted as if by invoki...

如何使用java中的套接字发送/接收对象[复制]【代码】

参见英文答案 > Socket program to send and receive user defined objects not working 1个当我在CMD窗口中执行我的代码时,它在客户端模式下不起作用,完全在以下行:ObjectInputStream ois = new ObjectInputStream(socket.getInputStream()); ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());此行上的程序块但不停止或发出错误信号: 我有3个类:客户端,服务器,...

java套接字(服务器)和C套接字(客户端)之间的网络通信【代码】

我知道这一定是一个非常普遍的问题,但我还没有找到关于如何做到这一点的明确答案. 首先,假设我们有一个接受查询的java服务器(我只是放了相关的行,为了清楚起见,我已经取出了异常处理):ServerSocket socket = new ServerSocket(port);while (true) {ClientWorker w;w = new ClientWorker(socket.accept());Thread t = new Thread(w);t.start();}然后在ClientWorker中BufferedReader inFromClient = new BufferedReader(new InputSt...

获取java.io.IOException:在客户端服务器Java套接字程序中激活流【代码】

在我发布这篇文章之前,我查看了有关此例外的一些过去的问题,但找不到确切的答案. 我有一个客户端服务器应用程序,它基本上是一个连接TCP的套接字程序.在运行正常一段时间之后,我从客户端获得了这个例外.但是,即使它抛出异常,客户端也会向服务器发送数据.(可能是因为Event对象连续传递).但是服务器在接收数据时工作正常.我在发送数据时从客户端获得的异常是 java.io.IOException:stream active ..这发生在下面代码中提到的“LINE 01...

SocketException:尝试从Java中读取套接字时连接重置?【代码】

在使用Java套接字时遇到了一些烦恼,我的应用程序似乎在一个非常基本的层面上失败了.我的部分应用程序需要跨TCP连接编写文件名.接收者代码如下:ServerSocket serverSocket = new ServerSocket(4445); Socket socket = serverSocket.accept(); BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); String filename = reader.readLine();我的发件人代码如下:Socket socket = new ...

java – TCP客户端套接字.连接并等待输入流【代码】

我有一张wifi sd卡,在我用相机拍摄照片后,会向我发送TCP包,其中包含有关新内存图像的信息. 在终端上,我可以使用此netcat命令读取输入流. netcat连接到ip 192.168.11.254并侦听端口5566.第二行是我收到的图像路径.$nc 192.168.11.254 5566 >/mnt/sd/DCIM/109_0302/IMGP0101.JPG在我的应用程序上,我有一个Java客户端套接字连接到相同的IP和端口.但我没有像netcat那样收到输入流,没有任何反应.void startListenForTCP (){Thread TCPLi...

Java – 可通过套接字进行序列化和发送对象【代码】

我收到一个错误:IOException on socket listen: java.io.NotSerializableException: java.net.Socket我尝试使用以下代码通过套接字发送对象:ObjectOutputStream outObjects = new ObjectOutputStream(socket.getOutputStream()); outObjects.writeObject(currentPlayer);output.flush();第二行给出错误….但我已经序列化(实现Serializable)类Player(currentPlayer对象的类) 但Player类的成员之一是Socket对象…..我尝试重新定义...

基于Socket(套接字)的低层次Java网络编程【代码】

原文链接:http://www.cnblogs.com/hellowu/archive/2013/05/29/3106371.htmlSocket通讯网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。Socket通常用来实现客户方和服务方的连接。Socket是TCP/IP协议的一个十分流行的编程接口,一个Socket由一个IP地址和一个端口号唯一确定。  在传统的UNIX环境下可以操作TCP/IP协议的接口不止Socket一个,Socket所支持的协议种类也不光TCP/IP一种,...

java – 通过同一个套接字发送和接收【代码】

我是Java套接字的新手,我在使用相同的套接字发送和接收数据时遇到了问题. 服务器位于Android设备上:ServerSocket listenSocket = null;OutputStream dataOutStream = null;Socket socket = null;InputStream dataInputStream = null;// ListenSystem.out.println("Start listening");try {listenSocket = new ServerSocket(4370);socket = listenSocket.accept();System.out.println("Connection accepted");dataInputStream = so...