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

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

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

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

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è)事物在不同場(chǎng)景下的多種形態(tài),需要的朋友可以參考下
    2020-01-01
  • C語言二叉樹的非遞歸遍歷實(shí)例分析

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

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

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

    這篇文章主要為大家詳細(xì)介紹了Qt如何結(jié)合QWidget實(shí)現(xiàn)簡(jiǎ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圖形庫(kù)實(shí)現(xiàn)五子棋游戲

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

    這篇文章主要為大家詳細(xì)介紹了基于c++ ege圖形庫(kù)實(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)秀的國(guó)產(chǎn)軟件開源項(xiàng)目?NDD(notepad--),一個(gè)支持windows/linux/mac的文本編輯器,目標(biāo)是要國(guó)產(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)論

连州市| 邵阳市| 石台县| 依安县| 固原市| 镶黄旗| 梁平县| 陈巴尔虎旗| 威信县| 清新县| 吉木乃县| 贵溪市| 宁化县| 九江市| 吉林省| 军事| 星座| 城步| 大庆市| 都安| 保靖县| 长岛县| 屏东县| 清镇市| 天门市| 平山县| 涡阳县| 婺源县| 莱阳市| 长白| 高尔夫| 丹棱县| 永泰县| 大厂| 蚌埠市| 穆棱市| 桂林市| 鄄城县| 寿阳县| 铜梁县| 丹凤县|