当前位置: 首页 > 知识库问答 >
问题:

readUTF在服务器端挂起

葛深
2023-03-14

我正在实现客户机/服务器文件发送和接收。

正在发送的部分C代码:

long count;
FILE *file;
char *file_data;

file=fopen("test.txt","rb");
fseek (file , 0 , SEEK_END);
count = ftell (file);
rewind (file);

file_data=(char*)malloc(sizeof(char)*count);
fread(file_data,1,count+1,file);
fclose(file);

if ((numbytes = send(sockfd, file_data, strlen(file_data)+1 , 0)) == -1) 
{
 perror("client: send");
 exit(1);
}

部分Java代码接收:

public String receiveFile() 
{
   String fileName="";
   try 
   {
    int bytesRead;
    InputStream in = clientSocket.getInputStream();
    DataInputStream clientData = new DataInputStream(in);
    fileName=clientData.readUTF();
   }
} 

使用readUTF()函数后,服务器挂起或处于无限循环中,不再继续。我已经使用readLine()尝试了BufferedReader。有一个错误是“没有为BufferedReader(InputStream)找到合适的构造函数&readLine()给出警告。除了BufferedReader之外,还有其他替代方法吗??

共有1个答案

卫飞
2023-03-14

readutf()读取writeutf()编写的格式。您没有发送它,所以服务器无法读取它。使用read(byte[])、readally()、new BufferedReader(newInputStreamReader(in));

如果使用readline(),则需要发送换行符。在这两种情况下,您都不需要发送尾随空值。

 类似资料:
  • 我最近对尝试将我的石头-纸-剪刀游戏改编成一个多人友好的程序感兴趣,所以今天我决定查阅一个关于服务器的教程。似乎我正在精确地跟踪它(除了使用不同的IDE之外)。然而,有些地方出了问题,我不确定到底是什么,它对教程制造商来说很好。我查过EOFException,但并没有帮到我。 Youtube上的教程 [关于EOFException的文档](我在这里有一个链接,但我需要至少10个声誉才能发布两个以上

  • 我正在构建一个。NET核心web应用程序,在服务器端我为计划任务和长期运行任务添加了hangfire。在我添加的startup.cs文件中: 在configure函数中,我添加了以下内容: 是否有一种方法可以确保只有一个服务器在运行?或者,如果我可以在停止应用程序(IIS)时关闭服务器,并在运行应用程序时再次启动它

  • 我正在使用mod_wsgi在apache2上部署一个django项目,但问题是服务器不提供页面,并且在给出错误之前挂起10分钟: 这是我的: 设置。派克 wsgi。派克 项目结构 在arTfact_网站/URL中。派克 在网站/urls.py 我做错什么了吗?

  • 问题内容: 我在新的数字海洋ubuntu 14.04服务器上部署了selenium独立服务器。它无法正常启动。它给出的日志是 我猜在日志中缺少2行。 有人知道为什么会发生吗? 问题答案: 当硒试图产生随机种子时会发生这种情况,但是内核缺乏熵。 解决方案是安装类似的添加熵的软件。参见https://www.digitalocean.com/community/tutorials/how- to-se

  • 问题内容: 说我有一个用perl或python编写的脚本。编写在字符串上使用jQuery选择器的函数的最简单方法是什么?即能够做到: 其中的功能是对存储在中的html字符串运行jquery选择器。即使只限于返回字符串(不是完整的jquery对象),它仍然会非常有用。即,如果您需要提供一个JavaScript函数作为回调,这将使结果呈现为脚本语言可理解的内容: 并且它将以列表形式返回回调的结果。 我

  • [warning] 注意 安装前需要保证服务器端与G01云中心的443端口通信保持畅通,可以通过命令 telnet www.gov110.cn 80,telnet apiv.gov110.cn 443,telnet update.gov110.cn 80 telnet scan.gov110.cn 80,telnet monitor.gov110.cn 80,telnet alive.gov110