伺服器:
在winsockseverdlg.h中新增變數:
public:
int getcount();
void sendtoall(socket s,char *buff);
socket m_sock;
~cwinsockseverdlg();
socket msgsock[50];
int addlen;
sockaddr_in serv;
int count;
在winsockseverdlg.cpp
bool cwinsockseverdlg::oninitdialog()
else
}
void cwinsockseverdlg::onbuttonsend()}}
uint thread(lpvoid p)
if(loop)
else
}send(dlg->msgsock[msgcount],"disconnected",100,0);
dlg->m_listinfo.insertstring(dlg->count++,"disconnected");
for(int i=0;i<50;i++)
if(dlg->msgsock[i]!=null)
flag=1;
if(flag!=1)
dlg->m_button.enablewindow(false);
closesocket(dlg->msgsock[msgcount]);}}
afxendthread(0);
return 0;
}int cwinsockseverdlg::getcount()
return -1;
}cwinsockseverdlg::~cwinsockseverdlg()
用skinmagic做對話方塊**:
將skinmagiclib.h,corona.smf ,skinmagictrial.lib,skinmagictrial.dll放在除錯目錄下
在工程-》設定->general->mfc foundation class選靜態鏈結
客戶機:
//extra code
verify( 1 == initskinmagiclib(afxgetinstancehandle(), null , null, null ));
verify(1==loadskinfile("corona.smf"));
}在winsockclientdlg.h中
public:
~cwinsockclientdlg();
int count;
sockaddr_in cli;
socket clisock;
winsockclientdlg.cpp:
bool cwinsockclientdlg::oninitdialog()
void cwinsockclientdlg::onbuttonconnect()
void cwinsockclientdlg::onbuttondisconnect()
void cwinsockclientdlg::onbuttonsend()
uint thread(lpvoid)
dlg->m_listinfo.insertstring(dlg->count++,"成功");
dlg->m_buttonsend.enablewindow(true);
dlg->setforegroundwindow();
while(s!=socket_error)
}send(dlg->clisock,"disconnected",100,0);
dlg->m_buttonconnect.enablewindow(true);
dlg->m_buttondisconnect.enablewindow(false);
dlg->m_buttonsend .enablewindow(false);
closesocket(dlg->clisock);
afxendthread(0);
return 0;
}void cwinsockclientdlg::onexit()
recv()函式:如果套接為sock_stream,預設為阻塞式,直到資料到來前決不返回
accept函式是個阻塞函式,絕對的阻塞,沒有客戶端連線絕不返回:
製作乙個網路通訊類(一)
tcplistener類提供一些簡單方法,用於在同步阻塞模式下偵聽和接受傳入連線請求。tcpclient 類提供了一些簡單的方法,用於在同步阻塞模式下通過網路來連線 傳送和接收流資料。每個ctcptalk物件中包含乙個用於監聽的tcplistener部件,乙個用於傳輸資料的tcpclient部件,和...
客戶端伺服器結構網路通訊
蘋果公司為ios下c s結構網路通訊開發提供了一些api框架和類庫,既有面向高層的,也有面向低層次的,還有基於蘋果bonjour發現服務的api。面向高層次的api 即web service通訊開發,包括nsurlrequest nsmutableurlrequest nsurlconnection...
用乙個類實現網路通訊功能
背景或原因 環境 windows系統 可執行c 程式 網路連線正常 具體功能 完成tcp ip 通訊。其中tcp服務端 tcp客戶端 udp方式可選,以類似流的方式及使用 來接收和傳送且傳輸量可選。使用示例 include nstream.h int main return 0 標頭檔案 nstre...