我需要从Windows Java服务器向Linux C ++客户端发送一个字符串,反之亦然,但是我编写的代码无法正常工作,我也不知道为什么:
*Windows上的 *Java服务器 代码 发送字符串 :
for(int i=0;i<message.length;i++)
{
message[i]=Byte.parseByte(num_cartella);
}
sendData(message,client);
*Windows *上的 Java服务器 代码 以接收数据 :
client = server.accept();
InputStream ic = client.getInputStream();
BufferedReader dic = new BufferedReader( new InputStreamReader(ic) );
String id_scelta=String.valueOf(dic.readLine());
*Linux上的 *C ++客户端 代码 发送数据 :
if( send(sock , nCartella,(unsigned)strlen(nCartella), 0) < 0)
{
cout <<"Invio fallito"<<endl;
return 1;
}
cout << "Messaggio inviato"<<endl;
*Linux上的 *C ++客户端 代码 以接收数据 :
if( recv(sock, server_reply , (unsigned)strlen(server_reply) , 0) < 0)
{
cout <<"Ricezione fallita"<<endl;
return 1;
}
cout <<"Risposta server:";
cout <<server_reply;
为什么不起作用?套接字将成功创建,但是客户端和服务器不会发送和接收数据,并且我不知道代码的错误部分是什么
您正面临着成千上万个同一个问题。实际上有两个。
第一个问题是,以这种方式发送字符串时,另一个伙伴不知道字符串的长度是多少!因此,您需要指出这一点,常用的技术是在实际字符串之前发送字符串大小。这样做时,要注意字节序-
Java是大字节序,而变化是,另一端是小字节序。
第二个问题是您不能希望通过单个recv
命令一次性收到所有信息。您必须循环接收,直到阅读完所有内容为止。
我有一个Netty客户端和一个Netty服务器,并按照主要教程后,为了有一个EchoClient/服务器,我想让它,使我的客户端发送消息到我的服务器,当他第一次连接到它。 下面是我的的方法,这些方法应该解决这个问题: 但是正如你所看到的,教程使用了一个ByteBuf和一个String似乎不起作用! 下面是我如何在我的方法中显示收到的消息: 但是当为使用并在构造函数中初始化它并发送它时,我的服务器不
问题内容: 我将实现类似于Facebook通知和此网站的内容(StackOverflow的通知会通知我们是否有人为我们的问题写评论/答案等)。请注意,用户将使用我的应用程序作为网站而不是移动应用程序。 我遇到以下获取结果的答案,但我需要推送结果而不是获取结果。 根据建议,我在实体类中创建了一个简单方法,并向其中添加了@PostPersist,但此方法不起作用,因此基于此答案,我添加了persist
我将一个整数从C客户机发送到java服务器,它工作得非常好。但是当我尝试对一个字符串执行相同的操作时,我得到了一个错误,这是发送字符串的客户端代码 以及读取它的java代码 错误 JAVA木卫一。java中的EOFEException。木卫一。数据输入流。java上的Ready(DataInputStream.java:180)。木卫一。数据输入流。java上的readUTF(DataInputS
我也试图从Java服务器和Python客户机传输数据。我成功地将数据从客户端传输到服务器,但根本没有接收到数据。 在python客户机上,我有以下内容:(注意,这是在一个单独的线程中运行的) 如果这是成功的工作,输出将是客户端套接字值,等待服务器,然后得到一些数据。然而,它正陷入等待数据的困境。 这意味着套接字显然不是None,它正在等待缓冲区接收?我将接收缓冲区大小设置为1,以查看是否有任何数据
我正在创建我的产品,并与这个问题。有一天,我设置了Socket.io,一切都很好。第二天,我将服务器和客户端从http迁移到HTTPS。迁移后客户端和服务器端仍然连接,但不能从客户端发射到服务器,从服务器发射到客户端。 我的ssl证书位于和中,它们加载正确。运行在上的服务器 我的示例react组件。我的react应用程序运行在上。HTTPS连接良好,工作良好。 我该怎么办?也许我在中错误地使用了s
我怎么给鲍勃发信息?