PDA

View Full Version : سوال: کمک در مورد thread



mortezamsp
سه شنبه 19 آبان 1388, 20:32 عصر
با سلام.

من دارم یه برنامه چت سرور دونفره مینویسم. فقط در مورد مالتی ترد کردن توابع send و recive به مشکل برخوردم .

این کلاس user :

class user
{
public:
int startup();
int preparingConnection();
int connectIn();
int connectOut();
void chat();
void sendData(void*);
void reciveData(void*);
.
.
.

و اینم تابع chat ک هازش اشکال میگیره :

void user::chat()
{
while( ! exitRoom )
{
_beginthread(sendData,0,NULL);
_beginthread(reciveData,0,NULL);
}

}

و اینم خطایی که میده :

Error 3 error C3867: 'user::sendData': function call missing argument list; use '&user::sendData' to create a pointer to member d:\my documents\visual studio 2008\projects\chsrv\chsrv\userclass.cpp 161

Error 4 error C3867: 'user::reciveData': function call missing argument list; use '&user::reciveData' to create a pointer to member d:\my documents\visual studio 2008\projects\chsrv\chsrv\userclass.cpp 162



فایل برنامم میخواین؟

mortezamsp
چهارشنبه 20 آبان 1388, 21:48 عصر
تو رو خدا کمک کنید.ضروریه .
میخوام بدونم چطور میشه توابع داخل کلاس رو به thread اظافه کرد؟

Nima_NF
چهارشنبه 20 آبان 1388, 22:08 عصر
تابع sendData و reciveData را باید به صورت عمومی خارج از کلاس user تعریف کنید.

با این حال اگر داخل کلاس هست شاید اگر تابع را به شکل static تعریف کنید جواب بدهد.

mortezamsp
چهارشنبه 20 آبان 1388, 22:16 عصر
با سلام.


خارج از کلاس تعریف کرده بودم و جواب داد.برنامشو میذارم برا دوستان که استفاده کنن.توبرنامه هزمان میشتونن دو نفر بنویسن.

استاتیک ولی بلد نیستم. واسه متغیر های داخل تابع استاتیک اشکال میگیره.



چت سرور ساده tcp/ip دونفره: