服务器
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(9999);
} catch (IOException ex) {
System.out.println("Can't setup server on this port number. ");
}
Socket socket = null;
InputStream in = null;
OutputStream out = null;
try {
socket = serverSocket.accept();
} catch (IOException ex) {
System.out.println("Can't accept client connection. ");
}
try {
in = socket.getInputStream();
} catch (IOException ex) {
System.out.println("Can't get socket input stream. ");
}
try {
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line = br.readLine();
System.out.println("File name = " + line);
//Deixem nomes el nom del File o fitxer
String fileName = line.replace("GET /", "");
fileName = fileName.replace(" HTTP/1.1", "");
System.out.println("File name is" + fileName);
out = new FileOutputStream(fileName);
} catch (FileNotFoundException ex) {
System.out.println("File not found. ");
}
byte[] bytes = new byte[16*1024];
int count;
while ((count = in.read(bytes)) > 0) {
out.write(bytes, 0, count);
System.out.println("Bytees "+count);
}
out.close();
in.close();
socket.close();
serverSocket.close();
}
}
正如您所看到的,我正在使用一个方法replace()来只保留文件名。客户机将是浏览器,它将请求一个文件,例如:
localhost:9999/hello.txt
首先,听从乔恩·斯基特的建议
其次,如果您正在学习,那么请遵循以下
使用套接字进行写入和读取
问题是,您试图编写不是套接字流,而是文件,当然,如果您想做http服务器。您可以检查这个简单的http服务器问题
我已经使用java nio创建了一个客户端-服务器应用程序,它工作正常,但我的问题是,当服务器有许多连接到服务器的客户端时,服务器会响应错误的客户端,而不是请求客户端。例如,如果客户端A请求第一个人的信息,服务器将第一个人的信息返回给客户端B而不是客户端A。我已经尝试同步对象,但仍然无法正常工作,可能是什么问题。这是我的服务器示例代码
deployment.yaml: 当从nginx-ingress pod获取日志时,我们注意到状态代码是,这意味着它正在工作。 产出: 但是,客户端返回: https://github.com/kubernetes/ingress-nginx/issues/3746 任何帮助都将不胜感激。
我的知识:-由于一致的哈希,Memcache本身是很小心的。 但是spymemcached 2.8.0是否提供了一致的哈希???
我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se
前面的章节介绍了所有 Redis 的重要功能组件: 数据结构、数据类型、事务、Lua 环境、事件处理、数据库、持久化, 等等, 但是我们还没有对 Redis 服务器本身做任何介绍。 不过, 服务器本身并没有多少需要介绍的新东西, 因为服务器除了维持服务器状态之外, 最重要的就是将前面介绍过的各个功能模块组合起来, 而这些功能模块在前面的章节里已经介绍过了, 所以本章将焦点放在服务器的初始化过程,
NewTLSServer创建的服务器可以验证对显式从其创建的客户端的调用: 在行中。 但是,我有一个生产程序,我想将其设置为使用作为主机。我越来越 我称之为错误。 我如何设置与客户端进行身份验证,就像普通的HTTPS服务器一样?
我正在尝试在JMeter中记录任何客户端-服务器活动作为学习的开始。我是从公司网络这样做的,因此必须通过代理。以下是我记录的步骤。 > 我在JMeter文档中读到,为了通过代理进行记录,我必须通过提供适当的代理从命令中调用。我用下面的代码来调用JMeter。 jmeter -H "取自互联网设置的代理地址"-P "8080" -u "域*用户名*" -a "密码"。 用这个JMeter调用fine
我正在netty之上编写客户机-服务器应用程序。 我从一个简单的客户端登录服务器开始,该服务器通过数据库验证从客户端发送的信息。这一切都很好。 在客户端,我希望在收到来自服务器的响应后使用If语句,以确定登录凭据是否有效。这也很好用。我的问题是ChannelRead方法不返回任何内容。我不能改变这个。我需要它返回一个布尔值,允许登录尝试成功或失败。 一旦返回,我就会丢失数据的内容。 我尝试将msg