我也试图从Java服务器和Python客户机传输数据。我成功地将数据从客户端传输到服务器,但根本没有接收到数据。
在python客户机上,我有以下内容:(注意,这是在一个单独的线程中运行的)
#mp_log is a custom function for logging, treat it as a print.
def listen_loop():
global client_socket
mp_log("Client socket value:")
mp_log(repr(client_socket))
while True:
mp_log("Waiting on data from the server. Inside while.")
if client_socket is None:
mp_log("Client Socket is null, skipping data check.")
continue
data = client_socket.recv(1)
mp_log("Got some data: " + data)
如果这是成功的工作,输出将是客户端套接字值,等待服务器,然后得到一些数据。然而,它正陷入等待数据的困境。
这意味着套接字显然不是None,它正在等待缓冲区接收?我将接收缓冲区大小设置为1,以查看是否有任何数据通过。以下是我从服务器发送的代码:
// Earlier in the code, to create the writer.
this.writer = new PrintWriter(this.socket.getOutputStream(),true);
我启用了自动刷新作为测试,以确保数据实际上正在刷新。
public void send(String data) {
System.out.println("Sending data to this client.");
this.writer.println(data);
this.writer.flush();
}
编辑:为使用的两种语言添加套接字创建代码。Java:
public Connection(Socket socket) throws IOException {
this.socket = socket;
this.reader = new BufferedReader(new InputStreamReader(this.socket.getInputStream()));
this.writer = new PrintWriter(this.socket.getOutputStream(),true);
this.listenThread = new Thread(this);
this.listenThread.start();
// Test message
send("Test Message " + System.currentTimeMillis());
}
和Python:
global client_socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
threading.Thread(target=listen_loop).start()
client_socket.connect(("localhost", 5000))
`data = client_socket.recv(1)`
尝试通过data=client_socket.recv(1024)
来改变这一点。我想我不确定我是否有类似的问题,比如给recv(1)的数字是您的缓冲区,希望能有所帮助
我有一个关于Java插座的技术问题。 例如,假设我有一个Java Sockets服务器和n个多个客户端。是否可以几乎实时地将数据从服务器发送到任何或所有客户端? 更准确地说: 有哪种监听器可以在Sockets客户端中实现 有人能告诉我什么方法是最好的吗?此外,如果有人有一个代码示例,我也会很高兴。 谢谢
我正试图从套接字服务器(Java)向套接字客户端(Python)发送一个映像,但客户端中接收到的映像大小不正确,无法打开。我不知道我做错了什么。有什么建议吗?
我正在编写一个程序,将数据从服务器连续发送到客户端。在这里,我使用示例的时间戳将其发送给连接的多个客户端。我使用多线程来支持多个客户端。我希望每10秒向客户端发送一次时间。但在我的代码中,客户端在收到第一个数据后停止。如何让客户端连续接收数据。我尝试在客户端添加while循环,但这并不可行。有什么建议吗 以下是示例代码:服务器端: 客户端: 我的输出: 客户端所需输出:
我正在使用网络库和浏览器上的WebSocket实现一个套接字节点服务器。我正在成功使用telnet,但浏览器工作不正常。浏览器成功连接到套接字服务器并发送消息。我的服务器实现了一个事件,并立即触发和事件<代码>关闭,事件在断开连接时执行删除客户端(关闭浏览器,连接松动…)。 我不希望浏览器发送消息,然后断开连接。有人知道问题出在哪里吗? 套接字服务器 客户端(浏览器) 浏览器连接到服务器时的输出
我试图用java实现一个客户端服务器,在这里我读取客户端中的输入并在服务器中执行UperCase,然后返回客户端并打印UperCase。我使用ObjectOutputStream和ObjectInputStream进行读写,但是当我在客户机中键入一个msg时,程序会显示以下错误: Digite uma msg casa java.io.eofexception位于java.io.datainput
问题内容: 我需要从Windows Java服务器向Linux C ++客户端发送一个字符串,反之亦然,但是我编写的代码无法正常工作,我也不知道为什么: *Windows上的 *Java服务器 代码 发送字符串 : *Windows *上的 Java服务器 代码 以接收数据 : *Linux上的 *C ++客户端 代码 发送数据 : *Linux上的 *C ++客户端 代码 以接收数据 : 为什么