小编Win*_*ime的帖子

通过套接字接收文件,TCP连接冻结

我已经使用套接字4小时了,我使用的方式是只有一个应用程序作为客户端和服务器,一旦客户端连接它就是用新客户端打开theard 并等待消息.

一旦消息发送到服务器,客户端将收到响应,该部分正常工作没有任何问题.

客户Theard的一部分:

while (true)
        {
            InputStreamReader IR = new InputStreamReader(clientSocket.getInputStream());
            BufferedReader BR = new BufferedReader(IR);
            PrintStream PS = new PrintStream(clientSocket.getOutputStream());
            String message = BR.readLine();
            if (message != null)
            {
                System.out.println(clientSocket.getInetAddress() + ":" + clientSocket.getPort() + " has connected."+message);
                if (message.equals("exit"))
                {
                    PS.println("Exiting...");
                    exit();
                }
                else if (message.equals("list"))
                {
                    getList(PS);
                }
                else if ((message.contains("get") && (message.contains(",") && (message.contains(" ")))))
                {
                    String[] spliter = message.split(" ");
                    String[] file = spliter[1].split(",");
                    String file_name = file[0];
                    String file_md5 = file[1];
                    getFile(file_name, …
Run Code Online (Sandbox Code Playgroud)

java sockets tcp

1
推荐指数
1
解决办法
475
查看次数

Jwt 策略后 ExecutionContext 中用户丢失

目前我已经实现了 jwt 防护,它工作得很好,使用 Passport,jwt 正在验证颁发的令牌,我可以通过 @Request 通过 req.user 查看用户,在实现基于角色的身份验证作为已经工作的附加组件后出现问题JWT 的守卫。

我遵循了 Nestjs.com 提供的指导,但没有帮助。 https://docs.nestjs.com/guards

基本角色配置:

角色装饰器.ts

import { SetMetadata } from '@nestjs/common';
export const Roles = (...roles: string[]) => SetMetadata('roles', roles);
Run Code Online (Sandbox Code Playgroud)

角色.guard.ts

import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common';
import { Reflector } from '@nestjs/core';

@Injectable()
export class RolesGuard implements CanActivate {
  constructor(private readonly reflector: Reflector) {}

  canActivate(context: ExecutionContext): boolean {
    const roles = this.reflector.get<string[]>('roles', context.getHandler());
    if (!roles) {
      return true;
    }
    const request = context.switchToHttp().getRequest();
    const user = …
Run Code Online (Sandbox Code Playgroud)

jwt nestjs

1
推荐指数
1
解决办法
2782
查看次数

标签 统计

java ×1

jwt ×1

nestjs ×1

sockets ×1

tcp ×1