C socket TCP網路程式設計

2021-09-17 18:21:30 字數 2796 閱讀 4090

//建立套接字

m_slisten = socket(af_inet, sock_stream, ipproto_tcp);

if (m_slisten == invalid_socket)

struct sockaddr_in sin;

sin.sin_family = af_inet; //設定位址家族

sin.sin_port = htons(8888); //設定埠號,inet_addr("192.168.1.0");

sin.sin_addr.s_un.s_addr = inaddr_any; //設定位址

//繫結埠

if ((bind(m_slisten, (lpsockaddr)&sin, sizeof(sin)) == socket_error))

//套接字, 指向sockaddr_in結構體的指標,引數長度

if (listen(m_slisten, 20) == socket_error) //套接字, 為該套接字排隊的最大連線數

//此時, slisten 變為監聽套接字 }

void cserver_wins::recmsg()

char revdata[1025]; //接收回來的資料

int ret = 0; //接收回來的位元組數

//接收資料

ret = recv(sclient, revdata, 1024, 0);

if (ret > 0)

//傳送資料

send(sclient, "server get msg!", strlen("server get msg!"), 0);

//連線套接字, 要傳送資料所儲存位置對應的位址, 長度

closesocket(sclient); //關閉連線套接字

std::cout << "session end" << std::endl;

sleep(30);

} std::cout << "rec thread end..." << std::endl;

}void cserver_wins::stoprec()

cserver_wins::~cserver_wins()

#include #include #include "cserver_wins.h"

using namespace std;

int main()

#pragma once

#include class cclient_wins

;

#define _winsock_deprecated_no_warnings

#include "cclient_wins.h"

#include #include #pragma comment(lib, "ws2_32.lib")

struct sockaddr_in sin_client;

cclient_wins::cclient_wins():m_terminate(false)

}bool cclient_wins::connectserever(char serverip)

return ret;

}void cclient_wins::sendmsg(char serverip, const char sendbuff)

sin_client.sin_family = af_inet; //設定位址家族

sin_client.sin_port = htons(8888); //設定埠號,inet_addr("192.168.1.0");

connectserever(serverip);

send(m_csocket, sendbuff, strlen(sendbuff), 0); }

void cclient_wins::recmsg()

} closesocket(m_csocket); //關閉監聽套接字

}void cclient_wins::stoprecv()

cclient_wins::~cclient_wins()

#include #include #include #include "cclient_wins.h"

using namespace std;

int main()

cli.join();

std::cout << "i love china!\n";

return 0;

}

伺服器

客戶端

c socket TCP同步網路通訊

socket就是套接字,它是引用網路連線的特殊檔案描述符,由三個基本要素組成 1 addressfamily 網路型別 2 sockettype 資料傳輸型別 3 protocoltype 採用的網路協議 下面是可用於ip通訊的套接字組合及其常用的屬性和方法 ip連線領域有兩種通訊型別 面向連線的和...

c socket TCP同步網路通訊

socket就是套接字,它是引用網路連線的特殊檔案描述符,由三個基本要素組成 1 addressfamily 網路型別 2 sockettype 資料傳輸型別 3 protocoltype 採用的網路協議 下面是可用於ip通訊的套接字組合及其常用的屬性和方法 ip連線領域有兩種通訊型別 面向連線的和...

C Socket Tcp 效能測試

前段時間講述了在編寫乙個高效能的socket tcp服務要注意的細節 c 編寫高效能tcp socket應用注意事項 按那些細節描述的方法來實現乙個socket tcp效能到底達到乙個怎樣的效果呢?以下是針對相關方法實現的socket tcp服務進行乙個測試,看一下在那種方式編寫的socket tc...