TCPAPI網路通訊 乙個伺服器對乙個

2021-07-02 02:59:26 字數 2759 閱讀 6973

伺服器:

在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...