TCP套接字Java(服务器)和python(客户端)

时间:2019-11-16 01:27:43

标签: java python sockets

尝试通过Java服务器和python客户端发送文件。

Client.py

from socket import socket


def main():
    s = socket()
    s.connect(("localhost", 6030))


while True:
    f = open("archivo.txt", "rb")
    content = f.read(1024)

    while content:
        # Enviar contenido
        s.send(content + '\n')
        content = f.read(1024)

    break


# Cerrar conexión y archivo.
s.close()
f.close()
print("El archivo ha sido enviado correctamente.")

if __name__ == "__main__":
    main()

Server.java

import java.net.*;
import java.io.*;

public class Server {
public static void main (String []args) {
               try { 
                      ServerSocket ss = new ServerSocket(6030); 
                      Socket s = ss.accept(); 
                      DataInputStream dis = new DataInputStream(s.getInputStream()); 
                      String k = dis.readUTF(); 
                      System.out.println("File Transferred"); 
                      FileOutputStream fos = new FileOutputStream("D:\\yo.txt"); 
                      byte[] b = k.getBytes(); 
                      fos.write(k.getBytes()); 
                     } catch (IOException ie) { 
                       ie.printStackTrace(); 
                     }
          }
}

出现此错误:

java.io.EOFException
at java.io.DataInputStream.readFully(Unknown Source)
at java.io.DataInputStream.readUTF(Unknown Source)
at java.io.DataInputStream.readUTF(Unknown Source)
at Server.main(Server.java:10)

感谢任何帮助。我有python服务器和java客户端,它工作得很好。而且,它们在python客户端服务器和java客户端服务器之间可以很好地工作

0 个答案:

没有答案