Socket TCP的程式設計過程

2021-05-26 16:38:15 字數 2051 閱讀 6455

利用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家族用於同...