私はマルチクライアントチャットプロジェクトに取り組んでいます。
これが私のコードです:
struct RecvDataModel
{
int sockAddr;
char *inData;
};
void *ProcessData(void *arg);
void Client::Recv(int sockAddr, char *inData)
{
RecvDataModel outData;
outData.sockAddr = sockAddr;
outData.inData = inData;
pthread_t rThr;
pthread_create(&rThr, NULL, ProcessData, (void*)&outData);
}
void *ProcessData(void *arg)
{
RecvDataModel *inData = (RecvDataModel*)arg;
cout << inData->inData << endl;
return 0;
}
基本的に、sockAddr(Client :: Recv内)が "55"に等しい場合、ProcessDataのcout関数は "31784736"を書き込み、"0"coutの"5120"に等しい場合
それが私の大きな問題です!これなしでは続けられない!(私はEclipse C ++を使用しています)何が問題なのですか?私はすでにこのようないくつかのサンプルプロジェクトを見てきました:リンク>>>