首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Java客户端与Python服务器连接

将Java客户端与Python服务器连接
EN

Stack Overflow用户
提问于 2015-04-24 00:14:01
回答 2查看 592关注 0票数 0

我用下面的代码做了一个服务器python (我认为剩下的代码不是必需的):

代码语言:javascript
运行
复制
while 1:
    data = conn.recv(BUFFER_SIZE)
    if not data: break
    print "received data:", data
    conn.send(data+'\r\n')

conn.close()

当我尝试使用Java客户端接收回显时,在控制台上打印时收到一条奇怪的消息:

代码语言:javascript
运行
复制
Mensaje recibido = java.io.DataInputStream@1cf2a0ef

在服务器端,我收到了一个很好的消息:你好。

Java中的代码是:

代码语言:javascript
运行
复制
    DataInputStream ims;
    String data;

    s = new Socket(HOST,PORT);

    oms = new DataOutputStream(s.getOutputStream());
    ims = new DataInputStream(s.getInputStream());

    oms.writeUTF(ms);
    ims.read();
    data = ims.toString();

    oms.close();
    ims.close();
    s.close();

    return data;

我认为ims.toString()可能是错误的。

EN

Stack Overflow用户

发布于 2015-04-24 00:18:10

您需要的是将数据分配给从流中读取的字符串:

代码语言:javascript
运行
复制
data=ims.readUTF();

流中的toString()方法只返回对象id的表示,这是没有意义的。

请参阅http://docs.oracle.com/javase/7/docs/api/java/io/DataInputStream.html#readUTF()

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29829036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档