利用winsock api函式編寫tcp client的過程如下
1、載入winsock #define winsock_version makeword(2,2)
word wversionrequested; //定義socket1.1或者socket2.0
wversionrequested = makeword(2, 2); //定義連線為socket2.0
//裝載socket2.0支援
int ret=wsastartup(wversionrequested, &wsadata);
if (ret != 0)
2、建立套接字tcp
sock = socket(af_inet, sock_stream, ipproto_tcp);
if (sock == invalid_socket)
3、設定位址結構體
char cip[20];
memset(cip, 0, sizeof(cip));
int nlen = ip.getlength();
for(int i=0; i4、建立連線
if (connect(sock, (sockaddr *) &serveraddr, sizeof(serveraddr))
== socket_error)
5、建立執行緒或者訊息對映
//選擇方式
cbutton *pck = (cbutton*)getdlgitem(idc_ck_thread);
if(pck->getcheck())
closehandle(hthread);
}else
}對於執行緒的說明
//執行緒相關宣告
handle hthread;
static dword winapi commrecvtread(lpvoid lpparameter);
typedef void (callback *oncommrecv)(cwnd* pwnd, char *buf, int buflen);
static void callback oncommrecv(cwnd* pwnd, char *buf, int buflen);
dword winapi csocket_tcp_clientdlg::commrecvtread(lpvoid lparam)
return 0;
}void callback csocket_tcp_clientdlg::oncommrecv(cwnd* pwnd, char *buf, int buflen)
}else
}//pdlg->m_strrecdisp += getcurrentdatetime() + l"\r\n";
precvstredit->setwindowtext(pdlg->m_strrecdisp); /* 顯示在視窗上 */
}對於訊息對映的說明,比較常用
const int um_sock = wm_user + 1;//自定義訊息
afx_msg lresult onsock(wparam, lparam); //訊息原型宣告
//訊息對映
on_message(um_sock, onsock) //非常重要;在begin_message_map(csocket_tcp_clientdlg, cdialog)裡面
lresult csocket_tcp_clientdlg::onsock(wparam wparam, lparam lparam)
}else
*/m_strrecdisp = cstring(recvbuf);
}//pdlg->m_strrecdisp += getcurrentdatetime() + l"\r\n";
precvstredit->setwindowtext(m_strrecdisp); /* 顯示在視窗上 */
break;
}return 1l;
}對於ce的程式,一般使用執行緒方式來接收,關閉視窗的時候取消執行緒的方式
void csocket_tcp_clientdlg::ondestroy()
}
python 網路程式設計socket(TCP)
服務端 import socket sk socket.socket 建立物件 sk.setsockopt socket.sol socket,socket.so reuseaddr,1 避免伺服器重啟時報address already in use錯誤 sk.bind 127.0.0.1 8877...
socket TCP程式設計模型例項1
功能需求 將本地資料夾下的source檔案通過tcp備份到遠端伺服器 執行環境 unbuntu 客戶端 1 include 2 include 3 include 4 include 5 include 6 include 7 include 8 9 tcp客戶端 10 int main 11 28...
python中socket TCP 基本程式設計知識
python 編寫server的步驟 第一步 是建立socket物件。呼叫socket建構函式。如 socket socket.socket family,type family引數代表位址家族,可為af inet或af unix。af inet家族包括internet位址,af unix家族用於同...