Pergunta : O programa do soquete do RPG que pendura sobre coneta ()

Primeiramente, eu sou novo à programação do soquete. Eu encontrei um grandes em linha e am tutoriais que reúso o código dele. Eu estou usando um programa do soquete para emitir comandos hex a um placar da produção. Os comandos hex incrementam/contadores do decréscimo, etc. no board.

In meu programa do soquete, mim emitem comandos binários/hex aos vários 8 portos de entrada para a placa ao processo. Neste exemplo, eu estou usando o software para emitir o comando binário simular a entrada 1 (contagem total). O programa do soquete aleatòria retornará um erro que não poderia conetar ao host.

Ex: o

I pode funcionar meu programa 70x dentro de um minuto ou assim e incrementa o contador total 70x. Tudo é muito bem. Então, fora da nenhumaa parte, quando chamado, o programa tenta fazer uma conexão no porto 4001 e pendura. Retorna então um erro que indic que não poderia fazer uma conexão ao anfitrião dentro do intervalo de parada period.

As para trabalhar/que não trabalha, ele parece completamente aleatório. Eu posso criar o soquete, para emitir, e próximo o soquete diversas vezes e todas é muito bem. Eu posso então esperar 3 minutos e emiti-los, e o programa pendura na função da conexão. Alguma idéia?

thanks adiantado - Adam
class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= do
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
peúga = soquete >eval notpretty " do class= " do id= " codeSnippet794419 do
           
class= do

Resposta : O programa do soquete do RPG que pendura sobre coneta ()

Até o grupo NEP que retransmite, eu gosto realmente do som daquele, mas não sei o que é.

Pesaroso… NEP -- Programa interminável.

Basicamente, é um programa que você submeta ao funcionamento em algum subsistema do grupo e que seja esperado dar laços para sempre. (Bem, até que algum tipo do comando ou do sinal o disser para terminar.) Você pôde submetê-lo à fila de trabalho QSYSNOMAX ao funcionamento como vários programas do usuário.

Seu programa começaria abrindo a conexão do soquete. Então sentar-se-ia ao esperar uma entrada para chegar em uns dados enfileira-se. Sempre que uma entrada apareceu, emiti-la-ia através do soquete e i-la-ia para trás considerar se uma outra entrada estava na fila dos dados.

Pôde passar 99.999% de seu tempo apenas que espera. Todo o número de programas de outros trabalhos podia emitir comandos à única fila dos dados.

Caso necessário, a fila dos dados poderia ser fechada de modo que cada comando tivesse um identificador original, talvez derivado do GENUUID API. Quando um comando é puxado da fila e mandou o soquete, a identificação original está usada para emitir para trás um reconhecimento através da fila dos dados. Somente o trabalho de emissão saberia que chave era o reconhecimento para ela. A fila dos dados forneceria uma comunicação em dois sentidos entre seus trabalhos e seu do “usuário soquete”.

Se o volume era tanto que seu usuário não poderia prosseguir, você começaria simplesmente segundo.

Do “o usuário soquete” teria tudo necessário para fazer seu trabalho dos soquetes. Não teria nenhuma complicações da necessidade compreender os comandos da fila dos dados -- apenas emite o que quer que aparece. Manter a lógica focalizada no proc, nos módulos e em programas agradàvel separados -- divisão de trabalho pura.

Seus de “programas cliente” igualmente serão simples. Tudo que faz é punho as cordas de comando apropriadas e os emite à fila dos dados. (Opcionalmente, é uma fila em dois sentidos dos dados; mas aquele pôde ser um realce mais atrasado. Fazer-lhe o trabalho, a seguir fazê-lo melhor.)

Se você não usou filas dos dados, você deve encontrá-las muito mais fáceis do que os soquetes.

Tom
Outras soluções  
 
programming4us programming4us