用乙個類實現網路通訊功能

2021-06-26 21:57:38 字數 1800 閱讀 6827

背景或原因:

環境:windows系統、可執行c++程式、網路連線正常

具體功能:完成tcp/ip 通訊。其中tcp服務端、tcp客戶端、udp方式可選,以類似流的方式及使用">>"、"<<"來接收和傳送且傳輸量可選。

使用示例:

#include "nstream.h"

int main()

return 0;

}

標頭檔案 「nstream.h 」:

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

class nstream

else if((os.num = send(os.sock,(const char*)&struct,sizeof(struct), 0)) == socket_error)

else if((in.num = (in.sock, (char*)&struct, sizeof(struct), 0)) == 0 || in.num == socket_error)

;

原始檔"nstream.cpp":

#include "nstream.h"

#include using namespace std;

//tcp_server

nstream::nstream(const int tcplocport4ser)

:tratype(false)

, num(0)

//tcp_client

nstream::nstream(const char* tcpremipadd4cli, const int tcpserpor4cli)

:tratype(false)

, num(0)

//udp_server && client

nstream::nstream(const int udplocport,const char* udpremipadd, const int udpremport)

:tratype(true)

, num(0)

//析構

nstream::~nstream()

//獲得傳輸返回值

int nstream::getn()

//初始化

bool nstream::init()

if(lobyte(ws.wversion)!=2 || hibyte(ws.whighversion)!=2)

struadd.sin_family = af_inet;// 協議族,必須是af_inet

memset(struadd.sin_zero, 0x00, 8);

return true;

}//建立套接字

bool nstream::createsocket(int type, int protocol)

return true;

}//tcps 繫結

bool nstream::bindsock()

return true;

}//tcps 監聽

bool nstream::listen(const int n)

return false;

}//tcps 接受連線請求

bool nstream::accept()

return true;

}//tcpc 請求連線

bool nstream::connect()

return true;

}

製作乙個網路通訊類(一)

tcplistener類提供一些簡單方法,用於在同步阻塞模式下偵聽和接受傳入連線請求。tcpclient 類提供了一些簡單的方法,用於在同步阻塞模式下通過網路來連線 傳送和接收流資料。每個ctcptalk物件中包含乙個用於監聽的tcplistener部件,乙個用於傳輸資料的tcpclient部件,和...

Java 用socket實現網路通訊

這裡用乙個程序的兩個執行緒之間實現socket通訊。執行的結果是不停列印出server 但是如果服務端在mac,而客戶端在android,是沒有辦法通訊的,暫時還不知道為什麼。public static void main string args throws ioexception catch i...

TCPAPI網路通訊 乙個伺服器對乙個

伺服器 在winsockseverdlg.h中新增變數 public int getcount void sendtoall socket s,char buff socket m sock cwinsockseverdlg socket msgsock 50 int addlen sockaddr...