Tag: 套接字

通过套接字发送文件

你好我试图在java中使用客户端 – 服务器类发送文件。 出于某种原因,当调用发送文件的方法时,套接字关闭。 这是代码: FileInputStream fIn = new FileInputStream(file); out = new BufferedOutputStream(clientSocket.getOutputStream()); byte fileContent[] = new byte[(int) file.length()]; fIn.read(fileContent); for (byte b : fileContent) { out.write(b); } 和来自客户端的代码: FileOutputStream fIn = new FileOutputStream(“testing”); BufferedInputStream inAout = new BufferedInputStream(clientSocket.getInputStream()); byte fileContent[] = new byte[1000000]; inAout.read(fileContent); fIn.write(fileContent); 和我得到的错误消息:SEVERE:null java.net.SocketException:Socket关闭 我真的没有经验,所以如果有任何可以帮助它会很棒。

如何通过Java中的套接字发送文件列表

我在这里使用代码通过套接字发送单个文件。 但是,我需要能够通过套接字发送多个文件(基本上是目录中的所有文件),并让客户端识别文件之间的分离方式。 坦率地说,我完全不知道该做什么。 任何提示都会有所帮助。 注1:我需要一种方法来在一个连续的流中发送文件,客户端可以将这些文件分离成单个文件。 它不能依赖客户的个别请求。 注2:要回答一个问题,我很确定我会在评论中写到,不,这不是作业。 编辑有人建议我可以在文件本身之前发送文件的大小。 我怎么能这样做,因为通过套接字发送文件总是以预定的字节数组或单个字节完成,而不是由File.length()返回的long。

新的ObjectInputStream()块

public class SerProg { static ServerSocket ser=null; static Socket cli=null; static ObjectInputStream ins=null; static ObjectOutputStream outs=null; public static void main(String[] args) { try { ser=new ServerSocket(9000,10); cli=ser.accept(); System.out.println(“Connected to :”+cli.getInetAddress().getHostAddress()+” At Port :”+cli.getLocalPort()); ins=new ObjectInputStream(cli.getInputStream()); outs=new ObjectOutputStream(cli.getOutputStream()); String str=(String)ins.readObject(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 和客户 public […]

关闭BufferedReader / PrintWriter会关闭套接字连接吗?

我有一个应用程序,它使用简单的套接字在两个系统之间传递一些字符。 我把我的java应用程序作为服务器运行。 我建立一个连接很好,甚至传递一条消息。 但是,在发送一条消息后,我的连接关闭。 从我可以看出,似乎在关闭printWriter和bufferedReader ,套接字本身正在关闭?! 这很糟糕,因为我有多条消息要在同一个连接上发送。 printWriter = new PrintWriter(theServer.getClientSocket().getOutputStream()); bufferedReader = new BufferedReader(new InputStreamReader(theServer.getClientSocket().getInputStream())); printWriter.println(“the line”); printWriter.close(); //Closing on these lines? bufferedReader.close(); //Closing on these lines? 我满满的吗? 如何在Java中维护此连接?

android打开socket并发送命令

Hay Guys,我是Android的新手但是我想做的事情。 我希望能够使用给定的IP和PORT打开到服务器的连接,然后将命令发送到服务器并获取数据。 我有什么想法谷歌帮助这个? 我知道如何在PHP中使用它(使用fputs,fgets和fsockopen)。 任何帮助都会很棒。 谢谢

连接两个客户端套接字

假设Java有两种套接字: 服务器套接字“ServerSocket” 客户端套接字或只是“套接字” 想象一下两个过程的情况: X =客户 Y =服务器 服务器进程Y:有一个“ServerSocket”,正在侦听TCP端口 客户端进程X:通过“Socket”向Y发送连接请求。 Y:然后accept()方法返回一个新的客户端类型“Socket”, 当它发生时,两个套接字变得“互连”, 所以:客户端进程中的套接字,与服务器进程中的套接字相连。 然后:通过套接字X读/写就像通过套接字Y读/写。 现在,两个客户端套接字相互连接!! 但… 如果我在同一个进程中创建两个Client套接字,我想让它们“互连”怎么办? ……甚至可能? 假设如何在不使用中间ServerSocket的情况下使两个客户端套接字互连? 我已经通过创建两个Thread来连续读取A和写入B,以及其他用于读取B和写入A来解决它… 但我认为可能是一种更好的方式……(使用客户端 – 服务器方法不需要那些世界耗能的线程) 任何帮助或建议将不胜感激! 谢谢 编辑: 应用程序示例:“现有服务器应用程序可以转换为客户端应用程序”,例如VNC服务器,一个客户端套接字连接到VNC服务器,并创建其他客户端套接字(连接到中间服务器),然后应用程序互连两个客户端导致VNC服务器是客户端应用程序! 然后,不需要公共IP。 VNCServer — MyApp —> |中间服务器| <—用户

一个侦听套接字请求的EAR(Java EE)应用程序

我想构建一个Java EE应用程序(EAR),它不仅提供Web服务(WAR)或直接JMS请求(EJB),而且我还想接受套接字请求(例如UDP数据包)。 我尝试用java.net.DatagramSocket编写一个监听器,让它作为单独的进程运行,并将请求重定向到我的EAR应用程序。 问题是..如何才能无缝地将这样的套接字侦听器构建到我的Java EE(EAR)应用程序中? 谢谢。

关闭套接字的输入流是否也会关闭套接字连接?

在Java API中, Socket socket = serverSocket.accept(); BufferedReader fromSocket = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter toSocket = new PrintWriter(socket.getOutputStream()); //do sth with fromSocket … and close it fromSocket.close(); //then write to socket again toSocket.print(“is socket connection still available?\r\n”); //close socket socket.close(); 在上面的代码中,在我关闭InputStream fromSocket后,似乎套接字连接不再可用 – 客户端不会收到“仍然是套接字连接”消息。 这是否意味着关闭套接字的输入流也会关闭套接字本身?

通过java中的套接字发送对象

我有2个java netbeans项目,一个是Server,另一个是Client。 我有一个我创建的Message类,我希望将其传递给服务器,并在服务器上完成修改后返回到客户端。 我在两个项目中都包含了Message类。 我使用ObjectOutputStream和ObjectInputStream来传递对象。 服务器和客户端之间的连接是正常的,对象通过但在服务器上,当我使用readObject()方法从ObjectInputStream读取对象时,我将其类型转换为Message类。 但是在服务器上抛出了ClassNotFoundException 。 它找不到Message类。 我该如何解决这个问题? 客户代码: public void startClient() { try { // Create the socket Socket clientSocket = new Socket(HOST, PORT); // Create the input & output streams to the server ObjectOutputStream outToServer = new ObjectOutputStream(clientSocket.getOutputStream()); ObjectInputStream inFromServer = new ObjectInputStream(clientSocket.getInputStream()); // Read modify // TODO here /* Create […]

带套接字的大文件传输

当我使用套接字编程传输大文件时,收到的文件不完整,即它是一个mp3文件,当我播放声音时很奇怪。 代码是: 服务器端: File myFile = new File(“abc.mp3”); { Socket sock = servsock.accept(); int packetsize=1024; double nosofpackets=Math.ceil(((int) myFile.length())/packetsize); BufferedInputStream bis = new BufferedInputStream(new FileInputStream(myFile)); for(double i=0;i<nosofpackets+1;i++) { byte[] mybytearray = new byte[packetsize]; bis.read(mybytearray, 0, mybytearray.length); System.out.println("Packet:"+(i+1)); OutputStream os = sock.getOutputStream(); os.write(mybytearray, 0,mybytearray.length); os.flush(); } } 客户端: int packetsize=1024; FileOutputStream fos = new FileOutputStream(“zz.mp3”); BufferedOutputStream bos […]