ソケットプログラミング
こんにちは。
ソケットプログラミングを勉強していて、音声を送りあえるIP電話らしきものを作ろうとしています。音声のやりとりは何とかできていますが、同時に文字列も送れるようにしたいです。ソケットをもう一つ作ればいいのではないかと思っていますが、実際に書いてみると、recv()の部分がうまく書けません。
音声データの送受信の部分は:
while(1){
n=recv(sock,data1,N,0); //受信
if (n== -1){perror("recv");exit(1);}
if(write(dsp, data1,n)==-1){perror("write"); exit(1);} //スピーカーから出力
n=read(dsp,data,N); //マイクから入力
if (n== -1){perror("read");exit(1);}
if(send(sock,data,n,0)==-1){perror("send");exit(1});} //送信
}
送信の時は
n=read(0,tdata_2,N);
send(sock_2,data_2,n,0);
のように標準入力から文字列を読み込んで、data_2に格納し、新しく作ったソケットsock_2で送ればいいのですが、受信の時はどうしたらいいでしょうか。recv()をつかって、文字列と音声のデータを違うソケットで受け取って、違う配列に格納する方法があるでしょうか。
つまり、このような感じ(?):
n1=recv(sock1,data1,N,0); //音声
n2=recv(sock2,data2,N,0); //文字列
とても悩んでますので、よろしくお願いします!!