Witam
Chciałbym uzyskać taki efekt, mam 2 terminalne, na jednym jest odpalony serwer na drugim klient. I wysyłam klientem wiadomość do serwera, ten tę wiadomość pokazuje i odsyła jakąkolwiek do klienta. Jedyne co jestem w stanie napisać to napisać 2 programy które będą zarówno klientem i serwerem, to znaczy że będą przyjmować wiadomość od każdego, a mi zależy żeby wiadomość którą wyśle klient do serwera, serwer odesłał z powrotem do tego samego klienta. Czy coś takiego jest możliwe ?
Mam taki kod:
Klient

#include  <stdlib.h>
#include  <stdio.h>
#define PERM  0666
#define KLUCZ_KOM   (key_t)1231
 struct m_komunikat {
  long typ;
  char z1;
}; 

int main(int argc, char *argv[]) {
  int kom, kon, i, ik, czas; 
  struct m_komunikat msg; 
  kom=msgget(KLUCZ_KOM, 0);
     msg.z1='5';
     msg.typ=2; 
     
     msgsnd(kom, &msg, sizeof(msg),0);
        
  exit (0); 
}

i Serwer:

#include  <stdlib.h>
#include  <stdio.h>
#include  <sys/msg.h>
#define PERM  0660   
#define KLUCZ_KOM   (key_t)1231    
struct m_komunikat {
  long typ;
  char z1;
}; 

int kom, kon; 

int main(void) {
  struct m_komunikat msg;
  kom=msgget(KLUCZ_KOM, PERM | IPC_CREAT);
  kon=1;
  while(kon){ 
    if ((msgrcv(kom,&msg,sizeof(msg),0 ,0))==-1) {
      perror("\n    S.msgrcv error  ");
      kon=0; 
    } else {
      switch(msg.typ) {
        case 1:
            kon=0;
            break;
        case 2:
            printf("%c\n",msg.z1);
            break;
        
        default:
            break; 
      }
    }    
  } 
   
  msgctl(kom, IPC_RMID, 0);
  return (0); 
}

Bardzo mi zależy na tym, proszę o jakiekolwiek wskazówki.
Pozdrawiam