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

UE5 獨立程序的網(wǎng)絡(luò)TCP/UDP服務(wù)器與客戶端基礎(chǔ)流程

這篇具有很好參考價值的文章主要介紹了UE5 獨立程序的網(wǎng)絡(luò)TCP/UDP服務(wù)器與客戶端基礎(chǔ)流程。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

引擎源碼版,復(fù)制\Engine\Source\Programs\路徑下的BlankProgram空項目示例。

重命名BlankProgram,例如CustomTcpProgram,并修改項目名稱。

UE5 獨立程序的網(wǎng)絡(luò)TCP/UDP服務(wù)器與客戶端基礎(chǔ)流程,服務(wù)器,ue5,運維

UE5 獨立程序的網(wǎng)絡(luò)TCP/UDP服務(wù)器與客戶端基礎(chǔ)流程,服務(wù)器,ue5,運維

?修改.Build.cs內(nèi)容

UE5 獨立程序的網(wǎng)絡(luò)TCP/UDP服務(wù)器與客戶端基礎(chǔ)流程,服務(wù)器,ue5,運維

UE5 獨立程序的網(wǎng)絡(luò)TCP/UDP服務(wù)器與客戶端基礎(chǔ)流程,服務(wù)器,ue5,運維

修改Target.cs內(nèi)容?

?UE5 獨立程序的網(wǎng)絡(luò)TCP/UDP服務(wù)器與客戶端基礎(chǔ)流程,服務(wù)器,ue5,運維

UE5 獨立程序的網(wǎng)絡(luò)TCP/UDP服務(wù)器與客戶端基礎(chǔ)流程,服務(wù)器,ue5,運維

?修改Private文件夾內(nèi).h.cpp文件名并修改.cpp內(nèi)容

UE5 獨立程序的網(wǎng)絡(luò)TCP/UDP服務(wù)器與客戶端基礎(chǔ)流程,服務(wù)器,ue5,運維UE5 獨立程序的網(wǎng)絡(luò)TCP/UDP服務(wù)器與客戶端基礎(chǔ)流程,服務(wù)器,ue5,運維

UE5 獨立程序的網(wǎng)絡(luò)TCP/UDP服務(wù)器與客戶端基礎(chǔ)流程,服務(wù)器,ue5,運維UE5 獨立程序的網(wǎng)絡(luò)TCP/UDP服務(wù)器與客戶端基礎(chǔ)流程,服務(wù)器,ue5,運維

刷新引擎

UE5 獨立程序的網(wǎng)絡(luò)TCP/UDP服務(wù)器與客戶端基礎(chǔ)流程,服務(wù)器,ue5,運維在項目.Build.cs中加入模塊

// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;

public class TCPSocketServer : ModuleRules
{
	public TCPSocketServer(ReadOnlyTargetRules Target) : base(Target)
	{
		PublicIncludePathModuleNames.Add("Launch");
		PrivateDependencyModuleNames.Add("Core");
		PrivateDependencyModuleNames.Add("Projects");
        //加入網(wǎng)絡(luò)模塊
		PrivateDependencyModuleNames.Add("Sockets");
		PrivateDependencyModuleNames.Add("ApplicationCore");

		// to link with CoreUObject module:
		// PrivateDependencyModuleNames.Add("CoreUObject");

		// to enable tracing:
		// AppendStringToPublicDefinition("UE_TRACE_ENABLED", "1");

		// to enable LLM tracing:
		// GlobalDefinitions.Add("LLM_ENABLED_IN_CONFIG=1");
		// GlobalDefinitions.Add("UE_MEMORY_TAGS_TRACE_ENABLED=1");
	}
}

?.cpp

// Copyright Epic Games, Inc. All Rights Reserved.

#include "TCPSocketServer.h"

#include "RequiredProgramMainCPPInclude.h"
#include "Sockets.h"
#include "SocketSubsystem.h"

DEFINE_LOG_CATEGORY_STATIC(LogTCPSocketServer, Log, All);

IMPLEMENT_APPLICATION(TCPSocketServer, "TCPSocketServer");

INT32_MAIN_INT32_ARGC_TCHAR_ARGV()
{
	//應(yīng)用初始化設(shè)置  
	GEngineLoop.PreInit(ArgC,ArgV);

	// 獲取網(wǎng)絡(luò)套接字子系統(tǒng)
	ISocketSubsystem* SocketSubsystem = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM);
	// 創(chuàng)建一個TCP類型的套接字,命名為"This TcpIp Type"
	FSocket* Socket = SocketSubsystem->CreateSocket(NAME_Stream,TEXT("This TcpIp Type"));

	// 創(chuàng)建一個互聯(lián)網(wǎng)地址對象,用于指定服務(wù)器的IP地址和端口號
	TSharedPtr<FInternetAddr> Addr = SocketSubsystem->CreateInternetAddr();

	Addr->SetPort(8888);

	bool bIsValid = false;
	Addr->SetIp(TEXT("127.0.0.1"),bIsValid);
	
	Socket->Bind(*Addr);

	Socket->Listen(128);
	
	while (true)
	{
		// 接受一個新的客戶端連接請求,并返回一個新的套接字對象來表示這個連接
		FSocket* ClinetSocket = Socket->Accept(TEXT("ClinetConnect"));

		// 創(chuàng)建一個字節(jié)數(shù)組用于存儲接收到的數(shù)據(jù)
		uint8 Buf[1024]{0};
		//存儲實際讀取到的字節(jié)數(shù)
		int32 BytesRead = 0;

		// 從客戶端套接字讀取數(shù)據(jù)到Buf數(shù)組中,最多讀取1024字節(jié),并將實際讀取的字節(jié)數(shù)存儲在BytesRead中
		ClinetSocket->Recv(Buf,1024,BytesRead);

		// 將接收到的字節(jié)數(shù)組轉(zhuǎn)換為TCHAR字符串(用于UE5的字符串處理)
		FString Msg = UTF8_TO_TCHAR(reinterpret_cast<char *>(Buf));

		UE_LOG(LogTCPSocketServer,Display,TEXT("Msg = %s||Len = %d"),*Msg,BytesRead);
	}
}
/*
*TArray<FSocket*> Sockets; // 假設(shè)這是你的套接字列表  
  
// 遍歷套接字列表  
for (int i = 0; i < Sockets.Num(); i++)  
{  
FSocket* Socket = Sockets[i];  
FInternetAddr* RemoteAddr = Socket->GetRemoteAddress();  
      
// 獲取遠(yuǎn)程地址的IP和端口號  
FString IP;  
uint16 Port;  
RemoteAddr->GetIP(IP);  
RemoteAddr->GetPort(Port);  
      
// 使用IP和端口號進(jìn)行進(jìn)一步的處理或記錄等操作  
UE_LOG(LogTCPSocketServer, Display, TEXT("Client IP: %s, Port: %d"), *IP, Port);  
}
*/

客戶端.cpp

// Copyright Epic Games, Inc. All Rights Reserved.

#include "TCPSocketClient.h"

#include "RequiredProgramMainCPPInclude.h"
#include "Sockets.h"
#include "SocketSubsystem.h"

DEFINE_LOG_CATEGORY_STATIC(LogTCPSocketClient, Log, All);

IMPLEMENT_APPLICATION(TCPSocketClient, "TCPSocketClient");

INT32_MAIN_INT32_ARGC_TCHAR_ARGV()
{
	GEngineLoop.PreInit(ArgC,ArgV);

	ISocketSubsystem* SocketSubsystem = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM);

	FSocket* Socket = SocketSubsystem->CreateSocket(NAME_Stream,TEXT("This Tcp Client"));

	TSharedPtr<FInternetAddr> Addr = SocketSubsystem->CreateInternetAddr();
	
	Addr->SetPort(8888);
	bool bIsValid = false;
	Addr->SetIp(TEXT("127.0.0.1"),bIsValid);

	if (Socket->Connect(*Addr))
	{
		FString Msg = TEXT("Hello Server");
		int32 SendSize = 0;
		Socket->Send(reinterpret_cast<uint8*>(TCHAR_TO_UTF8(*Msg)),Msg.Len(),SendSize);
	}

	Socket->Close();
	SocketSubsystem->DestroySocket(Socket);

	UE_LOG(LogTCPSocketClient, Display, TEXT("Hello World"));
	
	FEngineLoop::AppExit();
	return 0;
}

未完待續(xù)。。。文章來源地址http://www.zghlxwxcb.cn/news/detail-799328.html

到了這里,關(guān)于UE5 獨立程序的網(wǎng)絡(luò)TCP/UDP服務(wù)器與客戶端基礎(chǔ)流程的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 《TCP/IP網(wǎng)絡(luò)編程》閱讀筆記--基于UDP的服務(wù)器端/客戶端

    《TCP/IP網(wǎng)絡(luò)編程》閱讀筆記--基于UDP的服務(wù)器端/客戶端

    目錄 1--TCP和UDP的主要區(qū)別 2--基于 UDP 的數(shù)據(jù) I/O 函數(shù) 3--基于 UDP 的回聲服務(wù)器端/客戶端 4--UDP客戶端Socket的地址分配 5--UDP存在數(shù)據(jù)邊界 6--UDP已連接與未連接的設(shè)置 ① TCP 提供的是可靠數(shù)據(jù)傳輸服務(wù),而 UDP 提供的是不可靠數(shù)據(jù)傳輸服務(wù); ② UDP 在結(jié)構(gòu)上比 TCP 更簡潔,其不會

    2024年02月09日
    瀏覽(53)
  • 簡單的UDP網(wǎng)絡(luò)程序·續(xù)寫(后端服務(wù)器)

    簡單的UDP網(wǎng)絡(luò)程序·續(xù)寫(后端服務(wù)器)

    該文承接文章?簡單的UDP網(wǎng)絡(luò)程序 對于客戶端和服務(wù)端的基本源碼參考上文,該文對服務(wù)器潤色一下,并且實現(xiàn)幾個基本的業(yè)務(wù)服務(wù)邏輯 目錄 demo1 第一個功能:字典翻譯 初始化字典 測試代碼:打印 字符串分割 客戶端修改 成品效果 字典熱加載 signal demo2 遠(yuǎn)端命令行解析 p

    2024年02月09日
    瀏覽(22)
  • UE5.1 像素流送公網(wǎng)部署無需GPU服務(wù)器

    UE5.1 像素流送公網(wǎng)部署無需GPU服務(wù)器

    因為工作需要最近在做虛幻引擎5.1這方面的部署,簡單記錄一下最近學(xué)習(xí)的一點知識。 本文參考:虛幻引擎官網(wǎng)文檔 UE5像素流送原理及多用戶公網(wǎng)部署小白教程202211022220 像素流送就是在云端服務(wù)器上運行虛幻引擎應(yīng)用程序,通過WebRTC將渲染的幀和音頻流送到瀏覽器和移動設(shè)

    2024年02月07日
    瀏覽(34)
  • 【UE5 Cesium】14-Cesium for Unreal 加載服務(wù)器上的傾斜攝影

    【UE5 Cesium】14-Cesium for Unreal 加載服務(wù)器上的傾斜攝影

    目錄 前言? 步驟 一、下載安裝tomcat 10 二、下載安裝JDK 三、啟動Tomcat 四、Tomcat加載傾斜攝影 五、UE中加載Tomcat上的傾斜攝影 ????????上一篇文章(【UE5 Cesium】13-Cesium for Unreal 加載本地傾斜攝影)介紹了如何在UE中加載本地傾斜攝影,本文在該文章基礎(chǔ)上繼續(xù)介紹如何在將

    2024年02月12日
    瀏覽(20)
  • 【網(wǎng)絡(luò)編程】基于UDP數(shù)據(jù)報實現(xiàn)回顯服務(wù)器/客戶端程序

    【網(wǎng)絡(luò)編程】基于UDP數(shù)據(jù)報實現(xiàn)回顯服務(wù)器/客戶端程序

    個人主頁:兜里有顆棉花糖 歡迎 點贊?? 收藏? 留言? 加關(guān)注??本文由 兜里有顆棉花糖 原創(chuàng) 收錄于專欄【網(wǎng)絡(luò)編程】【Java系列】 本專欄旨在分享學(xué)習(xí)網(wǎng)絡(luò)編程的一點學(xué)習(xí)心得,歡迎大家在評論區(qū)交流討論?? 前言 我們?nèi)绻胱寫?yīng)用程序進(jìn)行網(wǎng)絡(luò)通信的話,就需要調(diào)用傳

    2024年02月04日
    瀏覽(28)
  • 簡單的TCP網(wǎng)絡(luò)程序·單進(jìn)程(后端服務(wù)器)

    簡單的TCP網(wǎng)絡(luò)程序·單進(jìn)程(后端服務(wù)器)

    目錄 文件1:tcpServer.cc 文件2:tcpServer.hpp 1.提出日志概念 -- 在后續(xù)完善 日志格式 --?暫定簡單的打印功能 2.創(chuàng)建套接字 SOCK_STREAM -- socket參數(shù) 3.bind自己的套接字 4.設(shè)置socket 為監(jiān)聽狀態(tài) * 新接口1:listen 函數(shù)1:initServer() 新接口2:accept * 接口1:read 接口2:write 文件描述符本質(zhì)是

    2024年02月11日
    瀏覽(25)
  • 簡單的TCP網(wǎng)絡(luò)程序·線程池(后端服務(wù)器)

    簡單的TCP網(wǎng)絡(luò)程序·線程池(后端服務(wù)器)

    目錄 版本四:線程池 注意事項 文件:Task.hpp -- 任務(wù)單獨為一個文件 組件:日志修改 新函數(shù):vprintf() 可變參數(shù)的提取邏輯 vfprintf()的工作原理 初始化一個va_list 日志準(zhǔn)備 獲取時間小知識 日志初版 日志啟動測試 TCP通用服務(wù)器(守護(hù)進(jìn)程)?* 新指令1:jobs -- 查看進(jìn)程作業(yè) 新指令

    2024年02月09日
    瀏覽(25)
  • UE5 C++ Slate獨立程序的打包方法

    UE5 C++ Slate獨立程序的打包方法

    ?在源碼版安裝目錄內(nèi)找到已編譯通過的xxx.exe,(EngineBinariesWin64xxx.exe),在需要的位置新建文件夾,拷貝源碼版Engine內(nèi)的Binaries、Content、Shaders文件夾到目標(biāo)文件夾內(nèi),將xxx.exe放入對應(yīng)位置,刪除目標(biāo)文件夾內(nèi)Binaries、Content、Shaders中多余的文件夾,運行xxx.exe測試

    2024年01月23日
    瀏覽(70)
  • 云服務(wù)器:開放TCP、UDP端口

    云服務(wù)器:開放TCP、UDP端口

    ????????眾所周知,電腦設(shè)備有些端口默認(rèn)是不開放的,我們使用TCP或者UDP去連接沒有開放端口時就會被防火墻攔截,所以就需要到電腦防火墻設(shè)置里面把需要用到的端口開放出來。操作如下: ????????1.打開防火墻(可以直接搜索) ????????2.新建規(guī)則 ??????

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

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

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

    2024年02月14日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包