最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

tcp socket客戶端和服務(wù)端示例分享

 更新時(shí)間:2014年03月11日 14:59:56   作者:  
這篇文章主要介紹了tcp socket客戶端和服務(wù)端示例,需要的朋友可以參考下

以下是tcp socket客戶端和服務(wù)端源碼,代碼簡單大家參考使用吧

Tcp Server

復(fù)制代碼 代碼如下:

#include <WinSock2.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib")
int main()
{
// initial socket library
WORD wVerisonRequested;
WSADATA wsaData;
int err;
wVerisonRequested = MAKEWORD(1, 1);
err = WSAStartup(wVerisonRequested, &wsaData);
if (err != 0)
{
return -1;
}
//if (LOBYTE(wsaData.wVersion) != 1 ||
//HIBYTE(wsaData.wHighVersion) != 1)
//{
//WSACleanup();
//return -1;
//}

// create socket
SOCKET sockServer = socket(AF_INET, SOCK_STREAM, 0);

// bind socket
SOCKADDR_IN addrServer;
addrServer.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addrServer.sin_family = AF_INET;
addrServer.sin_port = htons(6000);
bind(sockServer, (SOCKADDR *)&addrServer, sizeof(addrServer));

// listen
listen(sockServer, 5);

SOCKADDR_IN addrClient;
int len = sizeof(addrClient);
while(1)
{
// accept
SOCKET sockConnection = accept(sockServer, (SOCKADDR *)&addrClient, &len);

// send
char sendBuf[100];
sprintf(sendBuf, "Welcome %s", inet_ntoa(addrClient.sin_addr));
send(sockConnection, sendBuf, strlen(sendBuf)+1,0);

// receive
char recvBuf[100];
recv(sockConnection, recvBuf, 100, 0);

//
printf("%s", recvBuf);

// close connection socket
closesocket(sockConnection);
}
}

Tcp Client

復(fù)制代碼 代碼如下:

#include <WinSock2.h>
#include <stdio.h>

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

int main()
{
// initial socket library
WORD wVerisonRequested;
WSADATA wsaData;
int err;
wVerisonRequested = MAKEWORD(1, 1);
err = WSAStartup(wVerisonRequested, &wsaData);
if (err != 0)
{
return -1;
}
//if (LOBYTE(wsaData.wVersion) != 1 ||
//HIBYTE(wsaData.wHighVersion) != 1)
//{
//WSACleanup();
//return -1;
//}

// create socket
SOCKET sockClient = socket(AF_INET, SOCK_STREAM, 0);

// connect server socket
SOCKADDR_IN addrServer;
addrServer.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
addrServer.sin_family = AF_INET;
addrServer.sin_port = htons(6000);
connect(sockClient, (SOCKADDR *)&addrServer, sizeof(addrServer));

// receive
char recvBuf[100];
recv(sockClient, recvBuf, 100, 0);

//
printf("%s", recvBuf);

// send
char sendBuf[100] = "this is lisi\n";
send(sockClient, sendBuf, strlen(sendBuf)+1,0);

// close connection socket
closesocket(sockClient);

// clean socket library
WSACleanup();
}

相關(guān)文章

  • C++之多態(tài)(內(nèi)容不錯(cuò))

    C++之多態(tài)(內(nèi)容不錯(cuò))

    什么是多態(tài)?顧名思義就是同一個(gè)事物在不同場景下的多種形態(tài),需要的朋友可以參考下
    2020-01-01
  • C語言二叉樹的非遞歸遍歷實(shí)例分析

    C語言二叉樹的非遞歸遍歷實(shí)例分析

    這篇文章主要介紹了C語言二叉樹的非遞歸遍歷,包括了先序遍歷、中序遍歷與后序遍歷,需要的朋友可以參考下
    2014-09-09
  • Qt+QWidget實(shí)現(xiàn)簡約美觀的加載動(dòng)畫

    Qt+QWidget實(shí)現(xiàn)簡約美觀的加載動(dòng)畫

    這篇文章主要為大家詳細(xì)介紹了Qt如何結(jié)合QWidget實(shí)現(xiàn)簡約美觀的加載動(dòng)畫,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • 詳解C語言#define預(yù)處理宏定義

    詳解C語言#define預(yù)處理宏定義

    本文主要介紹了C語言#define預(yù)處理宏定義,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • QT中在QLabel顯示圖片并且利用鼠標(biāo)點(diǎn)擊畫線問題

    QT中在QLabel顯示圖片并且利用鼠標(biāo)點(diǎn)擊畫線問題

    這篇文章主要介紹了QT中在QLabel顯示圖片并且利用鼠標(biāo)點(diǎn)擊畫線問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 基于c++ ege圖形庫實(shí)現(xiàn)五子棋游戲

    基于c++ ege圖形庫實(shí)現(xiàn)五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了基于c++ ege圖形庫實(shí)現(xiàn)五子棋游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • C++插件化 NDD源碼的插件機(jī)制實(shí)現(xiàn)解析

    C++插件化 NDD源碼的插件機(jī)制實(shí)現(xiàn)解析

    這篇文章主要介紹了C++插件化 NDD源碼的插件機(jī)制實(shí)現(xiàn)解析,這里再介紹推薦下優(yōu)秀的國產(chǎn)軟件開源項(xiàng)目?NDD(notepad--),一個(gè)支持windows/linux/mac的文本編輯器,目標(biāo)是要國產(chǎn)替換同類軟件,需要的朋友可以參考下
    2023-03-03
  • C++利用std::forward_list查找插入數(shù)據(jù)方法示例

    C++利用std::forward_list查找插入數(shù)據(jù)方法示例

    這篇文章主要給大家介紹了關(guān)于C++利用std::forward_list查找插入數(shù)據(jù)的相關(guān)資料,文中先對(duì)std::forward_list進(jìn)行了詳細(xì)的介紹,而后通過示例代碼給大家介紹了查找的方法,需要的朋友可以參考借鑒,下面話不多說了,來一起看看吧。
    2017-08-08
  • C++基于消息隊(duì)列的多線程實(shí)現(xiàn)示例代碼

    C++基于消息隊(duì)列的多線程實(shí)現(xiàn)示例代碼

    這篇文章主要給大家介紹了關(guān)于C++基于消息隊(duì)列的多線程實(shí)現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Qt自定義控件實(shí)現(xiàn)進(jìn)度儀表盤

    Qt自定義控件實(shí)現(xiàn)進(jìn)度儀表盤

    這篇文章主要介紹了Qt自定義控件實(shí)現(xiàn)進(jìn)度儀表盤,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12

最新評(píng)論

巴林右旗| 双柏县| 澄江县| 中江县| 松桃| 宽甸| 甘肃省| 淳化县| 蓬安县| 乐清市| 东明县| 合作市| 建昌县| 河池市| 贡嘎县| 修武县| 哈巴河县| 镇远县| 深州市| 东丽区| 邹城市| 高陵县| 黔南| 海原县| 洪洞县| 庆云县| 咸宁市| 长顺县| 多伦县| 鸡东县| 博乐市| 达孜县| 神农架林区| 临武县| 鄂温| 伽师县| 博罗县| 鄱阳县| 手游| 江门市| 永吉县|