New post

Find

Article
· Nov 20, 2024 3m read

第二十七章 TCP 客户端 服务器通信 - 连接管理

第二十七章 TCP 客户端 服务器通信 - 连接管理

连接管理

服务器一次只维护一个连接。如果第二个客户端在另一个连接打开时尝试连接,则 TCP/IP 将该客户端放入队列中。在队列中时,第二个客户端可以像已连接一样写入端口。第二个客户端写入的数据保留在缓冲区中,直到第一个连接关闭并且第二个客户端连接。

如果第二个客户端在连接存在之前发出 READ,它就会挂起。当第二个客户端在队列中时,第三个客户端的任何连接尝试都会失败。

如果已经打开 TCP 设备的客户端在第一个连接仍然存在时尝试第二次连接,则第二个 OPEN 命令会导致<COMMAND> 错误。将这种情况视为错误而不是 USE 命令可以防止出现意外结果。如果一个错误的程序认为它打开了一个新连接,而实际上它正在重用一个可能具有不同目标或不同参数的现有连接,则可能会出现这种意想不到的结果。

Discussion (0)1
Log in or sign up to continue
Question
· Nov 20, 2024

Reading values from JSON

Hi ,

I receive below JSON from a https outbound operation

{
  "Link": "www.sample.com",
  "Practice": [
    {
      "Node": "Record1"
    }
  ]
}

I am able to read Link as - JSON.%Get("Link")

How can I read Node value ?

2 Comments
Discussion (2)1
Log in or sign up to continue
Question
· Nov 20, 2024

Iterate through current Row of EnsLib.SQL.Snapshot

I am using a JDBC connection to MS SQL server to execute a stored procedure to select data and bring it into InterSystems as a EnsLib.SQL.Snapshot. I loop through the EnsLib.SQL.Snapshot using a while loop, but I also want to iterate through the Columns within that Row to do logic.

Is there a way to iterate through the Columns of the current Row of the EnsLib.SQL.Snapshot so I can apply logic/rules for further processing?

Thanks

Scott

4 Comments
Discussion (4)2
Log in or sign up to continue
Question
· Nov 20, 2024

Impossible to modify headers and status in a %CSP.REST %response

Hi everybody, 

I'm modifying a REST interface for a client but it seems impossible to me to modify HTTP Response Status and including custom HTTP Headers either.

My dispatch class (extending %CSP.REST) is contacted through a POST request and the latter is processed in a custom class (extending %CSP.REST as well) accessed as shown in the example below:

  <Route Url="/test" Method="POST" Call="Custom.Test:Process" />

Within the processing class I tried executing the following statements with no success:

Do %response.SetHeader("totalcount",totalcount)
Set %response.Status = ..#HTTP400BADREQUEST

The following message is always returned, even if an error occurred: 

Moreover, I tried to print %response.Status just before the end of the code in the processing class and it seems to have the right value ("400 Bad Request"), even it is always 200 within the response.

Finally, I tried adding a custom header with no success, again. I tried with "x-totalcount" also, as a user suggested in another question but it haven't worked.

Can somebody help me?

Thanks

6 Comments
Discussion (6)2
Log in or sign up to continue
Article
· Nov 20, 2024 2m read

Como enviar mensagens diretas na Comunidade de Desenvolvedores InterSystems

Olá Comunidade!

Existem ocasiões em que você precisa entrar em contato com um membro da nossa Comunidade, como o autor de uma postagem ou o desenvolvedor de um projeto específico, para discutir algo, acompanhar o progresso ou qualquer outra razão. E exatamente para isso, temos Mensagens Diretas, onde você pode enviar uma mensagem diretamente para uma pessoa específica ou até mesmo participar de um chat em grupo!

Acessar as Mensagens Diretas é fácil. Apenas clique no botão de Envelope próximo à sua imagem de perfil:

E você terá várias opções:

Primeiro, você vê todas as mensagens que você recebeu na sua Caixa de Entrada, as não lidas em Não Lidas, e as favoritas em Favoritos. Também, no menu esquerdo, você pode ajustar as configurações das mensagens diretas na seção Configurações:

Voltando à seção Caixa de Entrada, se você selecionar uma ou várias mensagens (ou Selecionar tudo), você pode Excluir, Marcar como não lida/lida ou Adicionar aos favoritos todo o lote. E se você adicionar uma mensagem aos favoritos, poderá encontrá-la rapidamente na seção Favoritos.

Outra maneira de adicionar uma mensagem aos favoritos é passar o mouse sobre ela e clicar na estrela que aparece perto da data:

Mensagens nos favoritos receberão uma estrela verde nessa linha.

Tem algumas outras maneiras de rapidamente enviar uma DM para um membro da comunidade:

  • vá para o perfil do membro que você quer entrar em contato
  • você também pode rapidamente iniciar uma discussão privada da página de publicação sobre um tópico específico descrito na postagem - o título do post será automaticamente utilizado como o assunto da DM

 

É isso, facinho. Boas mensagens!

Discussion (0)1
Log in or sign up to continue