国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

簡(jiǎn)易TCP客戶(hù)端和服務(wù)器端通信

這篇具有很好參考價(jià)值的文章主要介紹了簡(jiǎn)易TCP客戶(hù)端和服務(wù)器端通信。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

客戶(hù)端:

#include<iostream>
#include <winsock2.h> ?
#include <ws2tcpip.h> ?
#include<stdlib.h>
using namespace std;

#define ?BUF_SIZE ?1024

int main()
{
? ? cout << "客戶(hù)端" << endl;
? ? //設(shè)置Winsock版本,
? ? WSADATA ? wsaData;
? ? if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
? ? {
? ? ? ? cout << "error" << endl;
? ? ? ? exit(1);
? ? }


? ? //創(chuàng)建通信套接字
? ? SOCKET ?hSocket; //創(chuàng)建用于通信的套接字
? ? char message[BUF_SIZE] = "hello world";
? ?

? ? //1,創(chuàng)建用于通信的套接字
? ? hSocket = socket(PF_INET, SOCK_STREAM, 0);
? ? if (hSocket == INVALID_SOCKET)
? ? {
? ? ? ? cout << "socket error" << endl;
? ? ? ? exit(1);
? ? }


? ? //2,連接服務(wù)器IP
? ? SOCKADDR_IN ?servAdr;
? ? memset(&servAdr, 0, sizeof(servAdr));
? ? servAdr.sin_port = htons(9999); ? ?//端口,主機(jī)轉(zhuǎn)網(wǎng)絡(luò)字節(jié)序,服務(wù)器端口
? ? servAdr.sin_family = AF_INET; ? ? ?//地址族
? ? ?wchar_t ?adr[] = L"192.168.19.1";
? ? InetPton(AF_INET, adr, &servAdr.sin_addr); // 服務(wù)器IP地址 ?
? ?
? ??
? ? //3,建立連接
? ? if (connect(hSocket, (SOCKADDR*)&servAdr, sizeof(servAdr)) == SOCKET_ERROR)
? ? {
? ? ? ? cout << "connect error" << endl;
? ? ? ? return 0;
? ? }


? ? //4,開(kāi)始循環(huán)發(fā)送
? ? while (1)
? ? {
? ? ? ? int messagelen = strlen(message);
? ? ? ? send(hSocket, message, messagelen, 0);
? ? ? ? int Len = recv(hSocket, message, BUF_SIZE - 1, 0);
? ? ? ? message[Len] = 0;
? ? ? ? for (int i = 0; i < BUF_SIZE; i++)
? ? ? ? {
? ? ? ? ? ? cout << message[i];
? ? ? ? }
? ? ? ? cout << endl;
? ? ? ? Sleep(1000);
? ? }


? ? //5,關(guān)閉套接字
? ? closesocket(hSocket);
? ? WSACleanup();
}
?

服務(wù)器端

#include<iostream>
#include<stdlib.h>
#include<winsock2.h>
using namespace std;

int ?main()
{
? ? cout << "服務(wù)器端" << endl;
? ? WSADATA ?wsaData;
? ? SOCKET hServSock; ?//監(jiān)聽(tīng)套接字
? ? SOCKET hClntSock; ?//接收(accept)套接字
? ? if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
? ? {
? ? ? ? cout << "WSAStartup ?error" << endl;
? ? }


? ? //1,創(chuàng)建監(jiān)聽(tīng)套接字
? ? hServSock = socket(PF_INET, SOCK_STREAM, 0);
? ? if (hServSock == INVALID_SOCKET)
? ? {
? ? ? ? cout << "申請(qǐng)發(fā)送套接字失敗" << endl;
? ? }


? ? //2 ,綁定本地IP接口
? ? SOCKADDR_IN ?servAdr;
? ? memset(&servAdr, 0, sizeof(servAdr));
? ? servAdr.sin_family = AF_INET; ? ? ?//地址族
? ? servAdr.sin_port = htons(9999); ? ?//端口,主機(jī)轉(zhuǎn)網(wǎng)絡(luò)字節(jié)序
? ? servAdr.sin_addr.s_addr = htonl(INADDR_ANY); ?//綁定本地IP

? ? if (bind(hServSock, (SOCKADDR*)&servAdr, sizeof(servAdr)) == SOCKET_ERROR)
? ? {
? ? ? ? cout << "bind error" << endl;
? ? }


? ? //3, 設(shè)置監(jiān)聽(tīng)
? ? if (listen(hServSock, 5) == SOCKET_ERROR)
? ? {
? ? ? ? cout << "listen error" << endl;
? ? }


? ? //4, 阻塞等待客戶(hù)端連接
? ? SOCKADDR_IN ?clntAdr;
? ? int clntAdrSize;
? ? clntAdrSize = sizeof(clntAdr);
? ??
? ? for (int i = 0; i < 5; i++)
? ? {
? ? ? ? hClntSock = accept(hServSock, (SOCKADDR*)&clntAdr, &clntAdrSize);
? ? ? ? if (hClntSock == -1)
? ? ? ? {
? ? ? ? ? ? cout << "accept(0 error" << endl;
? ? ? ? }
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? cout << "connect client " << i + 1 << endl;
? ? ? ? ? ? char message[1024];
? ? ? ? ? ? int strlen;
? ? ? ? ? ? while ((strlen = recv(hClntSock, message, 1024, 0)) != 0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? for (int i = 0; i < strlen; i++)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? cout << message[i];
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? cout << endl;
? ? ? ? ? ? ? ? send(hClntSock, message, strlen, 0);
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? Sleep(100);
? ? ? ? closesocket(hClntSock);
? ? }
? ? closesocket(hServSock);
? ? WSACleanup();
}文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-861816.html

到了這里,關(guān)于簡(jiǎn)易TCP客戶(hù)端和服務(wù)器端通信的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • QT實(shí)現(xiàn)TCP通信(服務(wù)器與客戶(hù)端搭建)

    QT實(shí)現(xiàn)TCP通信(服務(wù)器與客戶(hù)端搭建)

    創(chuàng)建一個(gè)QTcpServer類(lèi)對(duì)象,該類(lèi)對(duì)象就是一個(gè)服務(wù)器 調(diào)用listen函數(shù)將該對(duì)象設(shè)置為被動(dòng)監(jiān)聽(tīng)狀態(tài),監(jiān)聽(tīng)時(shí),可以監(jiān)聽(tīng)指定的ip地址,也可以監(jiān)聽(tīng)所有主機(jī)地址,可以通過(guò)指定端口號(hào),也可以讓服務(wù)器自動(dòng)選擇 當(dāng)有客戶(hù)端發(fā)來(lái)連接請(qǐng)求時(shí),該服務(wù)器會(huì)自動(dòng)發(fā)射一個(gè)newConnection信號(hào)

    2024年02月09日
    瀏覽(27)
  • TCP/IP客戶(hù)端和服務(wù)器端建立通信過(guò)程

    TCP/IP客戶(hù)端和服務(wù)器端建立通信過(guò)程

    使用Qt提供的類(lèi)進(jìn)行基于 TCP 的套接字通信需要用到兩個(gè)類(lèi): QTcpServer 類(lèi)用于監(jiān)聽(tīng)客戶(hù)端連接以及和客戶(hù)端建立連接,在使用之前先介紹一下這個(gè)類(lèi)提供的一些常用API函數(shù): 構(gòu)造函數(shù) 給監(jiān)聽(tīng)的套接字設(shè)置監(jiān)聽(tīng) listen() 函數(shù) 在代碼中 通過(guò)啟動(dòng)監(jiān)聽(tīng)按鈕 設(shè)置監(jiān)聽(tīng) 參數(shù): address :

    2024年02月07日
    瀏覽(23)
  • Java實(shí)現(xiàn)TCP客戶(hù)端和服務(wù)器端相互通信

    Java實(shí)現(xiàn)TCP客戶(hù)端和服務(wù)器端相互通信

    解決TCP客戶(hù)端和服務(wù)器端通信讀不到數(shù)據(jù)的問(wèn)題 ?解決: 服務(wù)器端和客戶(hù)端讀完后加上client.shutdownInput(); 服務(wù)器端和客戶(hù)端寫(xiě)完后加上client.shutdownOutput(); 服務(wù)器端代碼: 客戶(hù)端代碼: 運(yùn)行服務(wù)器端再運(yùn)行客戶(hù)端,在客戶(hù)端中輸入要發(fā)送的信息,回車(chē) 服務(wù)器收到信息,over

    2024年02月08日
    瀏覽(27)
  • Linux下TCP網(wǎng)絡(luò)服務(wù)器與客戶(hù)端通信程序入門(mén)

    Linux下TCP網(wǎng)絡(luò)服務(wù)器與客戶(hù)端通信程序入門(mén)

    實(shí)現(xiàn)客戶(hù)端連接服務(wù)器,通過(guò)終端窗口發(fā)送信息給服務(wù)器端,服務(wù)器接收到信息后對(duì)信息數(shù)據(jù)進(jìn)行回傳,客戶(hù)端讀取回傳信息并返回。 服務(wù)器當(dāng)前IP地址要知道 建立socket 綁定本地IP地址并設(shè)置端口號(hào) 知道服務(wù)器的IP地址和端口號(hào) 然后進(jìn)行連接

    2024年02月14日
    瀏覽(33)
  • Socket網(wǎng)絡(luò)編程(TCP/IP)實(shí)現(xiàn)服務(wù)器/客戶(hù)端通信。

    Socket網(wǎng)絡(luò)編程(TCP/IP)實(shí)現(xiàn)服務(wù)器/客戶(hù)端通信。

    一.前言 回顧之前進(jìn)程間通信(無(wú)名管道,有名管道,消息隊(duì)列,共享內(nèi)存,信號(hào),信號(hào)量),都是在同一主機(jī)由內(nèi)核來(lái)完成的通信。 那不同主機(jī)間該怎么通信呢? 可以使用Socket編程來(lái)實(shí)現(xiàn)。 Socket編程可以通過(guò)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)實(shí)現(xiàn)不同主機(jī)之間的通訊。 二.Socket編程的網(wǎng)絡(luò)模型如

    2024年02月08日
    瀏覽(37)
  • TCP通信之QTcpServer和QTcpSocket,服務(wù)器和客戶(hù)端通訊

    TCP通信之QTcpServer和QTcpSocket,服務(wù)器和客戶(hù)端通訊

    TCP傳輸控制協(xié)議 是一個(gè)可靠的(相對(duì)于UDP),面向流,面向連接的運(yùn)輸協(xié)議。 Socket 俗稱(chēng)“套接字”。就是對(duì)網(wǎng)絡(luò)中不同主機(jī)上的應(yīng)用進(jìn)程之間進(jìn)行雙向通信的端點(diǎn)的抽象。一個(gè)套接字就是網(wǎng)絡(luò)上進(jìn)程通信的一端,提供了應(yīng)用層進(jìn)程利用網(wǎng)絡(luò)協(xié)議交換數(shù)據(jù)的機(jī)制。從所處的地

    2024年02月12日
    瀏覽(32)
  • 【網(wǎng)絡(luò)原理】使用Java基于TCP搭建簡(jiǎn)單客戶(hù)端與服務(wù)器通信

    【網(wǎng)絡(luò)原理】使用Java基于TCP搭建簡(jiǎn)單客戶(hù)端與服務(wù)器通信

    TCP服務(wù)器與客戶(hù)端的搭建需要借助以下API ServerSocket 是創(chuàng)建TCP服務(wù)端Socket的API。 ServerSocket 構(gòu)造方法 : 方法簽名 方法說(shuō)明 ServerSocket(int port) 創(chuàng)建一個(gè)服務(wù)端流套接字Socket,并綁定到指定端口 ServerSocket 方法: 方法簽名 方法說(shuō)明 Socket accept() 開(kāi)始監(jiān)聽(tīng)指定端口(創(chuàng)建時(shí)綁定的端

    2024年03月12日
    瀏覽(34)
  • GEC6818網(wǎng)絡(luò)編程——服務(wù)器端與客戶(hù)端tcp的雙向通信

    網(wǎng)絡(luò)編程之實(shí)現(xiàn)服務(wù)器和客戶(hù)端的tcp雙向通信,前面是雙向通信的詳細(xì)流程介紹,后面附上完整的代碼o(  ̄▽?zhuān)?)ブ 1.1 服務(wù)器端雙向通信的詳細(xì)流程敘述 創(chuàng)建TCP套接字 : 使用 socket 函數(shù)創(chuàng)建一個(gè)TCP套接字。這里使用了IPv4地址族 AF_INET 和流式套接字 SOCK_STREAM 。 綁定IP和端口

    2024年02月21日
    瀏覽(38)
  • Linux網(wǎng)絡(luò)編程:socket、客戶(hù)端服務(wù)器端使用socket通信(TCP)

    Linux網(wǎng)絡(luò)編程:socket、客戶(hù)端服務(wù)器端使用socket通信(TCP)

    socket(套接字),用于網(wǎng)絡(luò)中不同主機(jī)間進(jìn)程的通信。 socket是一個(gè)偽文件,包含讀緩沖區(qū)、寫(xiě)緩沖區(qū)。 socket必須成對(duì)出現(xiàn)。 socket可以建立主機(jī)進(jìn)程間的通信,但需要協(xié)議(IPV4、IPV6等)、port端口、IP地址。 ??????? ?(1)創(chuàng)建流式socket套接字。 ? ? ? ? ? ? ? ? a)此s

    2024年02月11日
    瀏覽(34)
  • 網(wǎng)絡(luò)通信(13)-C#TCP服務(wù)器和客戶(hù)端同時(shí)在一個(gè)進(jìn)程實(shí)現(xiàn)的實(shí)例

    網(wǎng)絡(luò)通信(13)-C#TCP服務(wù)器和客戶(hù)端同時(shí)在一個(gè)進(jìn)程實(shí)現(xiàn)的實(shí)例

    有時(shí)項(xiàng)目需求中需要服務(wù)器和客戶(hù)端同時(shí)在一個(gè)進(jìn)程實(shí)現(xiàn),一邊需要現(xiàn)場(chǎng)接收多個(gè)客戶(hù)端的數(shù)據(jù),一邊需要將數(shù)據(jù)匯總后發(fā)送給遠(yuǎn)程服務(wù)器。下面通過(guò)實(shí)例演示此項(xiàng)需求。 C#TCP服務(wù)器和客戶(hù)端同時(shí)在一個(gè)進(jìn)程實(shí)現(xiàn)的實(shí)例如下: 界面設(shè)計(jì) UI文件代碼

    2024年01月22日
    瀏覽(34)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包