Linux遠程桌面(二)

来源:http://www.cnblogs.com/yllinux/archive/2017/06/11/6986406.html
-Advertisement-
Play Games

上一篇遠程桌面採用的獨立服務配置不適用於過多用戶,這一篇採用超級Internet伺服器搭建vnc服務可以解決多用戶問題。 vnc之xinetd服務搭建配置 Linux遠程桌面(一):vnc之獨立服務配置 步驟一: (1)檢查是否安裝vnc服務和xinetd服務 (2)若沒有這兩項服務就需要安裝 /e ...


上一篇遠程桌面採用的獨立服務配置不適用於過多用戶,這一篇採用超級Internet伺服器搭建vnc服務可以解決多用戶問題。

                                                                   vnc之xinetd服務搭建配置

 

Linux遠程桌面(一):vnc之獨立服務配置

 

步驟一:

(1)檢查是否安裝vnc服務和xinetd服務

(檢測是否安裝vnc)
# rpm -qa | grep vnc

(檢測是否安裝xinetd)
# rpm -qa | grep xinetd

(2)若沒有這兩項服務就需要安裝

/etc/xinetd.conf和/etc/xinetd.d/*     (啟動關閉)
# /etc/init.d/xinetd restart

# service xinetd restart
xinetd:未識別的服務

# service xinetd reload
xinetd:未識別的服務

#

# rpm -ivh xinetd-2.3.14-10.el5.i386.rpm 
Preparing...    #####################[100%]
1:xinetd        #####################[100%]

# service xinetd restart
Stopping xinetd:                         [FAILED]
Starting xinetd:                         [  OK  ]

#
安裝完成!
View Code

 

步驟二:

(1)配置xinetd

   由xinetd管理的伺服器會將配置文件放在 /etc/xinetd.d 目錄中。

   因此,要配置xinetd來處理VNC,您應當創建或編輯一個名稱類似 /etc/xinetd.d/vnc 的文件。

    (在某些發行版上,比如openSUSE,VNC 伺服器包會安裝這樣的一個文件。)

 # vi /etc/xinetd.d/vnc   (vnc為新建文件,名稱可任意)

    內容如下:

 service vnc_001
{
    user         = user001
    port         = 5901
    type         = UNLISTED
    disable      = no
    socket_type  = stream
    protocol     = tcp
    wait         = no         
    server       = /usr/bin/Xvnc
    server_args  = -inetd -query localhost -geometry 1366x768 -once -securitytypes=none
}
service vnc_002
{
    user         = user002
    port         = 5902
    type         = UNLISTED
    disable      = no
    socket_type  = stream
    protocol     = tcp
    wait         = no         
    server       = /usr/bin/Xvnc
    server_args  = -inetd -query localhost -geometry 1366x768 -once -securitytypes=none
}
service vnc_003
{
    user         = user003
    port         = 5903
    type         = UNLISTED
    disable      = no
    socket_type  = stream
    protocol     = tcp
    wait         = no         
    server       = /usr/bin/Xvnc
    server_args  = -inetd -query localhost -geometry 1366x768 -once -securitytypes=none
}
View Code

    說明:

 1 user            = root 表示執行此服務進程的用戶是root。
 2 port            = 5900 vnc使用5900及以上埠
 3 disable         = yes 表示禁用這個服務。
 4 socket_type     = stream 表示服務的數據包類型為stream。
 5 wait            = no 表示不需等待,即服務將以多線程的方式運行。             
 6 server          = /usr/bin/Xvnc 啟動腳本的位置。
 7 log_on_failure += USERID:表示設置失敗時,UID添加到系統登記表。
 8 server_args     = :8 -inetd -once -query localhost -depth 16 -geometry 1024x768 -securitytypes=none
 9           
10                   :8  指定啟動Xvnc伺服器的X Window系統顯示器
11                   -inetd  把Xvnc伺服器作為守護進程運行,並預期從xinetd(inetd)運行它
12                   -once  當建立連接時從頭啟動Xvnc伺服器,當連接結束時,終止伺服器。此參數還能阻止Xvnc伺服器的多個副本在同一埠上啟動。
13                   -query localhost  該選項告訴VNC X伺服器查詢localhost系統以便進行XDMCP 身份驗證。
14                       如果您想使用一臺電腦作為中繼來訪問另一臺電腦上的程式,您可以更改它。
15                   -depth 16  該選項設置顏色深度。較低的值能夠產生較快的顯示更新,但是高色彩桌面環境會因顏色工件而受到折損。
16                       有效的值介於2到32之間。
17                   -geometry 1024x768  您可以使用該選項設置 VNC 會話的虛擬解析度。
18                       註意,該解析度不需要類同於在伺服器電腦上運行的常規X伺服器的解析度。值小於伺服器使用解析度。
19                       您可能想要創建以不同解析度運行的多個條目,以便讓用戶使用其本地系統便於應用的任何解析度登錄到VNC伺服器。
20                   -securitytypes=none  指定Xvnc伺服器不使用它自己內部安全機制(vncpasswd)來允許對vnc伺服器的訪問,因為XDMCP會處理這個問題。
21                   
22                 
View Code

        還有許多其他選項,一些隨VNC伺服器的不同而不同。查詢您的VNC伺服器的文檔,瞭解更多內容。

 

步驟三:

(1)添加vnc服務(可省略此步驟,作用在此步驟最後...)

 # vi /etc/services

    內容如下:

 1 # /etc/services:
 2 # $Id: services,v 1.42 2006/02/23 13:09:23 pknirsch Exp $
 3 #
 4 # Network services, Internet style
 5 #
 6 # Note that it is presently the policy of IANA to assign a single well-known
 7 # port number for both TCP and UDP; hence, most entries here have two entries
 8 # even if the protocol doesn't support UDP operations.
 9 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994).  Not all ports
10 # are included, only the more common ones.
11 #
12 # The latest IANA port assignments can be gotten from
13 #       http://www.iana.org/assignments/port-numbers
14 # The Well Known Ports are those from 0 through 1023.
15 # The Registered Ports are those from 1024 through 49151
16 # The Dynamic and/or Private Ports are those from 49152 through 65535
17 #
18 # Each line describes one service, and is of the form:
19 #
20 # service-name  port/protocol  [aliases ...]   [# comment]
21 
22 tcpmux          1/tcp                           # TCP port service multiplexer
23 tcpmux          1/udp                           # TCP port service multiplexer
24 rje             5/tcp                           # Remote Job Entry
25 rje             5/udp                           # Remote Job Entry
26 echo            7/tcp
27 echo            7/udp
28 ...(省略過多內容)
29 ...(省略過多內容)
30 ...(省略過多內容)
31 com-bardac-dw   48556/tcp                       # com-bardac-dw
32 com-bardac-dw   48556/udp                       # com-bardac-dw
33 iqobject        48619/tcp                       # iqobject
34 iqobject        48619/udp                       # iqobject
35 # Local services
36 vnc_001          5901/tcp     (添加)
37 vnc_002          5902/tcp     (添加)
38 vnc_003          5903/tcp     (添加)
39 vnc_004          5904/tcp     (添加)
View Code

(2)添加到service的作用說明

 11)作用:
 2     /etc/services文件是記錄網路服務名和它們對應使用的埠號及協議。
 32)格式:
 4     文件中的每一行對應一種服務,它由4個欄位組成,中間用TAB或空格分隔,分別表示“服務名稱”、“使用埠”、“協議名稱”以及“別名”。
 5     服務名    "tab"    埠號/協議名    “tab” 別名
 6 
 7     kermit             1649/udp
 8     l2tp               1701/tcp          l2f
 9     l2tp               1701/udp          l2f
10     h323gatedisc       1718/tcp
113)應用:
12     很多的系統程式要使用這個文件。
13     如果每一個服務都能夠嚴格遵循該機制,在此文件里標註自己所使用的埠信息,則主機上各服務間對埠的使用,將會非常清晰明瞭,易於管理;
14     在該文件中定義的服務名,可以作為配置文件中的參數使用。例如:在配置路由策略時,使用"www"代替"80",即為調用了此文件中的條目“www  80”;
15     且當有特殊情況,需要調整埠設置,只需要在/etc/services中修改www的定義,即可影響到服務。
16     例如:
17         在文件中增加條目“privPort 55555”,在某個私有服務中多個配置文件里廣泛應用,進行配置。
18         當有特殊需要,要將這些埠配置改為66666,則只需修改/etc/services文件中對應行即可。
19         在應用程式中可以通過服務名和協議獲取到對應的埠號,通過在該文件註冊可以使應用程式不再關心埠號。
204)埠分配:
21     Linux系統的埠號的範圍為0–65535,不同範圍有不同的意義。
22         0 不使用
23         1--1023 系統保留,只能由root用戶使用
24         1024---4999 由客戶端程式自由分配
25         5000---65535 由伺服器端程式自由分配
265)如何使應用程式不再關心服務所使用的埠號?
27     [1]確定服務程式名稱,協議,埠號
28     [2]在/etc/services中配置[1]中信息
29     [3]應用程式可以不直接使用埠號,通過函數getservbyname("server","tcp")獲取埠號。
30     [4]如果服務想更改埠號只要更改/etc/services中的埠號就可以了,應用程式不需要做任何更改。
31      註:同時可以通過函數getservbyport(htons(50),“tcp”)獲取對應埠和規約上的服務名。
32     使用這兩個系統函數需要包含頭文件:#include <netdb.h>
View Code

 

步驟四:

(1)配置XDMCP伺服器

  大部分Linux發行版配置其XDMCP服務,主要是為了管理本地顯示。

  為了提供遠程訪問,您必須重新配置您的XDMCP伺服器,以接受在同一臺電腦上運行的VNC伺服器的請求。具體細節因XDMCP伺服器而異。

  Linux上最常用的三個XDMCP伺服器是GNOME Display Manager(GDM)、Light Display Manager(LightDM)和KDE Display Manager(KDM)。

  其他XDMCP伺服器,比如XDM,需要接受不同於此處所描述的調整。不管怎麼,在重新配置您的XDMCP伺服器之後,您需要重啟它。

# vi /etc/gdm/custom.conf    (/usr/share/gdm/defaults.conf //GNOME管理預設的配置文件)

    內容如下:

 1 # For full reference documentation see the gnome help browser under
 2 # GNOME|System category.  You can also find the docs in HTML form on
 3 # http://www.gnome.org/projects/gdm/
 4 #
 5 # NOTE: Lines that begin with "#" are considered comments.
 6 #
 7 # Have fun!
 8 
 9 [daemon]
10 # RemoteGreeter=/usr/libexec/gdmlogin    (添加)(此遠程登錄界面為傳統界面)
11 RemoteGreeter=/usr/libexec/gdmgreeter    (添加)(此遠程登錄界面為正常界面)
12 
13 [security]
14 AllowRemoteRoot=true    (添加)
15 
16 [xdmcp]
17 Enable=true    (添加)
18 Port=177    (添加,可去)
19 
20 [gui]
21 
22 [greeter]
23 
24 [chooser]
25 
26 [debug]
27 
28 # Note that to disable servers defined in the defaults.conf file (such as
29 # 0=Standard, you must put a line in this file that says 0=inactive, as
30 # described in the Configuration section of the GDM documentation.
31 #
32 [servers]
33 
34 # Also note, that if you redefine a [server-foo] section, then GDM will
35 # use the definition in this file, not the defaults.conf file.  It is
36 # currently not possible to disable a [server-foo] section defined
37 # in the defaults.conf file.
38 #
View Code

    說明:daemon表示使用和本地一樣的登錄界面,不配置是個醜陋的簡潔界面;

         security是允許使用root用戶直接遠程登錄,一般不配置,不配置也可su - root登錄終端;

         xdmcp表示啟用服務,服務使用177埠。

 

   保存退出後,重啟gdm,放開防火牆埠,即可遠程登錄。

 # /usr/sbin/gdm-restart 

 

 (2)也可以在rhel的桌面控制臺上,使用圖形視窗配置custom.conf內容。

 # /usr/bin/gdmsetup          

  最後,如果inittab(vi /etc/inittab)設置在文本模式運行級別3,命令行可能無法啟動gdmsetup,估計是gdm相關的服務在引導3下沒有啟動。

# cat /etc/inittab|grep id    (查看運行級別)
# vi /etc/inittab    (編輯運行模式級別為GUI運行)

  內容如下:

 1 #
 2 # inittab       This file describes how the INIT process should set up
 3 #               the system in a certain run-level.
 4 #
 5 # Author:       Miquel van Smoorenburg, <[email protected]>
 6 #               Modified for RHS Linux by Marc Ewing and Donnie Barnes
 7 #
 8 
 9 # Default runlevel. The runlevels used by RHS are:
10 #   0 - halt (Do NOT set initdefault to this)
11 #   1 - Single user mode
12 #   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
13 #   3 - Full multiuser mode
14 #   4 - unused
15 #   5 - X11
16 #   6 - reboot (Do NOT set initdefault to this)
17 # 
18 id:5:initdefault:
19 
20 # System initialization.
21 si::sysinit:/etc/rc.d/rc.sysinit
22 
23 l0:0:wait:/etc/rc.d/rc 0
24 l1:1:wait:/etc/rc.d/rc 1
25 l2:2:wait:/etc/rc.d/rc 2
26 l3:3:wait:/etc/rc.d/rc 3
27 l4:4:wait:/etc/rc.d/rc 4
28 l5:5:wait:/etc/rc.d/rc 5
29 l6:6:wait:/etc/rc.d/rc 6
30 
31 # Trap CTRL-ALT-DELETE
32 ca::ctrlaltdel:/sbin/shutdown -t3 -r now
33 
34 # When our UPS tells us power has failed, assume we have a few minutes
35 # of power left.  Schedule a shutdown for 2 minutes from now.
36 # This does, of course, assume you have powerd installed and your
37 # UPS connected and working correctly.  
38 pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
39 
40 # If power was restored before the shutdown kicked in, cancel it.
41 pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
42 
43 
44 # Run gettys in standard runlevels
45 1:2345:respawn:/sbin/mingetty tty1
46 2:2345:respawn:/sbin/mingetty tty2
47 3:2345:respawn:/sbin/mingetty tty3
48 4:2345:respawn:/sbin/mingetty tty4
49 5:2345:respawn:/sbin/mingetty tty5
50 6:2345:respawn:/sbin/mingetty tty6
51 
52 # Run xdm in runlevel 5
53 x:5:respawn:/etc/X11/prefdm -nodaemon
View Code

 

步驟五:

(1)配置防火牆

# vi /etc/sysconfig/iptables 

  內容如下:

 1 # Firewall configuration written by system-config-securitylevel
 2 # Manual customization of this file is not recommended.
 3 *filter
 4 :INPUT ACCEPT [0:0]
 5 :FORWARD ACCEPT [0:0]
 6 :OUTPUT ACCEPT [0:0]
 7 :RH-Firewall-1-INPUT - [0:0]
 8 -A INPUT -j RH-Firewall-1-INPUT
 9 -A FORWARD -j RH-Firewall-1-INPUT
10 -A RH-Firewall-1-INPUT -i lo -j ACCEPT
11 -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
12 -A RH-Firewall-1-INPUT -p 50 -j ACCEPT
13 -A RH-Firewall-1-INPUT -p 51 -j ACCEPT
14 -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
15 -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
16 -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
17 -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
18 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
19 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT    (添加)
20 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5902 -j ACCEPT    (添加)
21 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5903 -j ACCEPT    (添加)
22 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5904 -j ACCEPT    (添加)
23 -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
24 COMMIT
View Code

(2)也可關閉防火牆(不建議)

# service iptables stop    (即時關閉防火牆,重啟失效)
# chkconfig iptables off    (永久關閉防火牆,重啟有效)

 

步驟六:

  重啟,vnc客戶端連接測試

# shutdown -h now    (立刻關機)
# shutdown -r now     (立刻重啟)

 

步驟七: 維護

  如果在執行該測試時您沒有看到一個XDMCP登錄界面,那麼就需要進行一些調試。要檢查的內容包括:

  (1)如果vncviewer報告連接被拒絕,這很可能意味著超級伺服器沒有在VNC伺服器電腦上得到適當的配置。檢查您的 xinetd配置,嘗試重啟超級伺服器。也有可能是防火

牆阻止對 VNC 伺服器電腦的訪問。

  (2)如果 VNC 客戶端啟動並連接到了伺服器,但是您所看到的只是一個灰色屏幕以及一個可隨處移動的游標,問題可能出在XDMCP伺服器配置上。檢查之前描述的設置,並

重新啟動XDMCP伺服器。

  (3)一個通用的故障排除方法就是檢查您的日誌文件。您可能需要搜索/var/log中的所有日誌文件,查看是否引用到xinetd、您的XDMCP 伺服器和您的VNC伺服器。

 

  VNC 安全隱患:

  RFB 不是一個安全協議;大多數 VNC 客戶端和伺服器不對它們的數據進行加密。(雖然 VNC 對其自己的密碼進行加密,但是這裡描述的方法不使用這些密碼。)要對部署

VMC 的地點和方式十分謹慎。如果您希望在一個不安全的網路上使用 VNC,您有三個選擇:

        使用一個虛擬專用網路 (VPN)。

        通過 SSH 通道傳輸協議。

        使用一個支持加密的 VNC 變體,比如 TigerVNC,它啟用傳輸層安全加密。

  實現本文所描述的 VNC 登錄會至少開啟兩個通向外界的埠(VNC 埠和 XDMCP 埠)。您可能希望使用防火牆規則同時限制這兩個埠,以最大限度地降低濫用的風險。註意,XDMCP埠(UDP埠177)僅需要向 localhost開放,因此其防火牆規則會相當嚴格。

 

  結束語:
  總的來講,鏈接VNC和XDMCP是支持通過遠程GUI登錄到多用戶Linux電腦的一個非常有用的技術。該方法比在跨平臺環境中直接使用XDMCP 或者在防火牆或NAT問題難

以解決時使用XDMCP更有優勢。它比多用戶電腦上更加常見的直接VNC方法更有益。如果您使用該方法,一定要考慮安全性問題。請準備好設置防火牆規則來限制不需要的外部

訪問,並且如果您的傳輸經由不可信賴的網路,請務必使用加密功能。

 

https://www.ibm.com/developerworks/cn/opensource/os-multiuserloginsvnc/#ibm-pcon

 

 

如有錯誤還請指出,如有侵權還請告知,如需轉載請註明出處!                                              

本人博客:http://www.cnblogs.com/yllinux/


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 配置vim配置 編輯配置文件 配置如下 主要配置為自動換行,設置行號,設置tab鍵為4個空格,同時將tab鍵自動轉換成空格 ...
  • 參考資料: Nginx中文文檔: http://www.nginx.cn/nginxchscommandline Nginx的啟動、停止、平滑重啟、信號控制和平滑升級:http://zachary-guo.iteye.com/blog/1358312 命令行參數: 常用命令: -c filename ...
  • 官網安裝教程鏈接:https://docs.openstack.org/developer/devstack/ 我在ubuntu14.04 LTS 桌面版/伺服器版都安裝DevStack成功後,在這裡記錄下安裝過程。 介紹下安裝環境: VMware Workstation Pro 12 ubuntu ...
  • 1. 安裝完整的vim# apt-get install vim-gnome 2. 安裝ctags,ctags用於支持taglist,必需!# apt-get install ctags 3. 安裝taglist#apt-get install vim-scripts#apt-get install ...
  • 家裡電腦是Win10的,原來可以在公司通過遠程桌面訪問,最近自動升級了一次補丁後,遠程可以連接,但是輸入正確的用戶密碼後總提示憑據錯誤 (Win10是被訪問的一方,修改的也是被訪問的機器) 修複方式為 命令:gpedit.msc 打開“本地組策略編輯器” Windows設置->安全設置->本地策略- ...
  • Linux系統IO中write原型為 ssize_t write(int filedes, const void * buff, size_t nbytes) ; 當調用write寫數據的時候,調用完成後write直接返回,但是磁碟是個慢速設備,操作系統會將數據保存在內核中的緩衝區中,並負責非同步地將 ...
  • 定義 進程的典型定義:進程是程式的一次動態執行 進程在傳統OS中的定義: 進程是進程實體的運行過程,是系統進行資源分配和調度的獨立單位. 一般情況下,我們所說的進程實體(也叫進程映像)簡稱進程,進程實體包括程式段,數據段和進程式控制制塊(PCB). PCB 創建進程的實質就是創建PCB,撤銷進程實質也是 ...
  • 用專業術語來說, 進程是程式的一次動態執行.說簡單點, 就是進程是系統中的某個任務.操作系統中有多個任務需要執行, 那麼怎樣執行才能使它們同步呢? 即如何讓任務併發執行互不影響呢? 這就引出了進程同步中的經典問題: 生產者消費者問題, 哲學家進餐問題, 讀寫問題 生產者-消費者問題 有一群生產者進程 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...