1、linux系統用C語言寫個視頻伺服器,求老前輩們指導
我的c語言只有二級水平,班門弄斧了。
似乎,linux本身就有幾個不錯的開源視頻伺服器,
如果要求不高的話可以直接使用他們的;
如果他們的不能達到要求,可以使用c些一些代碼做轉換,然後使用popen,system之類的調用;
或者,借鑒開源的視頻伺服器代碼自己深度加工;
gstreamer本身就是專門處理視頻流的,可以看看能不能用上。
2、做一個C/S架構的程序,是先編伺服器好,還是先編輯客戶端好?
首先,你要選好技術路線。
其次,因為是C/S程序,涉及到兩個進程的通訊,所以你需要先定義好兩者通訊的基礎設施層,如:通訊方式,通訊協議,以及相關的序列化、反序列化API
然後就可以分別編寫伺服器或者客戶端程序了。
說到這里,你可能也看清楚我想表達的意思了,先編客戶端或者先編伺服器其實都無所謂。
3、C/C++做伺服器需要學習什麼樣的技術
伺服器所用到的知識:
TCP/UDP,最基本的
並發——你可以選擇使用select、poll,或者是多線程、多進程
如果你使用多線程,那麼就必須使用同步技術——信號量、互斥體、條件變數的一種或幾種,並且對於多線程技術,你還需要考慮使用進行線程分離與合並,
如果你使用了多進程,那麼同步技術就不是你需要考慮的了,你需要考慮的是進程相關的問題了,你是使用fork還是vfork,你該如何處理客戶端的請求,如何處理客戶端斷開連接後保證能夠處理完數據並且沒有僵屍進程產生,你還需要考慮高並發的問題
你發送接受數據的時候,採用何種方式,是阻塞的還是非阻塞的,還有連接超時、重傳等問題
你是選擇TCP還是UDP,如果選擇UDP你可得忙了,需要你自己去進行重傳驗證,模擬TCP的三次握手,保證數據不會丟失,保證數據的有序性
還有其他很多需要你考慮的,以上都是指在Linux下的C++,本人對windows C++不了解
推薦書目:UNIX高級環境編程,UNIX網路編程,卷一。C++只不過是你使用這些技術的方式,不管你使用C還是C++,你都可以使用從這兩本書中學習到很多有用的知識,但是不能保證你就可以寫出高質量的伺服器程序。
4、本人現在工作已經兩年,一直從事於Linux c/c++,從事金融行業,想問一下有做伺服器後台開發的
你應該知道,銀行的真正的業務處理系統的後台是大型機,而且基本上都是IBM的ES/9000,少數用日本的富士通,不是我們中國人會做的,因為大型機都是不開放的,也就是說,它的CPU晶元設計製造(CPU都是128位的,無法在市場上采購到)、外圍組件的設計製造、主機板的設計製造、BIOS的設計開發、操作系統的設計開發、資料庫的設計開發、編程語言的開發工具、應用系統的中間件、應用系統的本身等等全都是同一家公司負責完成的,其中的技術是不對外公開的,都屬於他們公司的商業機密。比如,IBM的操作系統就叫ES9000,它的資料庫是DB2,它的編程語言是Cobol,它的中間件是 CICS,它的銀行後台系統只能由他們公司的技術人員才能開發,那些開發人員的工資待遇相當於美國總統的1.8倍。
上世紀我博士畢業之初有幸在銀行科技處任職(按規定套了副處級公務員),目睹過那些IBM派來的應用系統開發人員,他們來按中國人提出的要求修改銀行應用系統(因為中國的銀行系統要分為「對公會計業務」和「對私儲蓄業務」,IBM以前在其它國家做的系統沒這種區分,只有一套儲蓄業務處理系統),那些人享受的待遇是每天1000美元(當年人民幣對美元的市場比價超過10比1,我領副處級月薪才3100,一般公務員的月薪才千餘元)而且他們吃住在五星級賓館的費用要這邊出,還要每月給他們提供一次來回美國與他們家人團聚的旅費。
我本人作為中國人參與過最核心的業務就是在IBM小型機AS400和RS6000上開發通信協議轉換軟體,因為IBM大型機不支持TCP/IP通信協議只支持SNA通信協議,我們要把營業點用TCP/IP協議傳來的數據包解包並重新打包成SNA數據包發給ES9000,或者ES9000交來的SNA包轉換成TCP/IP包發給前端。RS6000用的是Unix系統,AS400的操作系統也是Unix的變種。
5、用c/s做的客戶端怎麼訪問伺服器
可以通過直接訪問伺服器端資料庫完成。不過在訪問的過程中,為了安全考慮。可以先將客戶端發送的數據轉碼或者加密。然後到伺服器端後解密或者再轉碼。管理員可以通過B/S程序完成查看功能。C/S和B/S用同一個庫就可以了。如果連的是外網,就要考慮很多安全因素。
6、客戶端是windows下C#做的,伺服器是linux下C語言做的,用socket如何實現客戶端與伺服器之間互傳數據?
我有用過Windows 發布WebServices 然後Java調用,還有在Linux系統里的mono上調用過。 這個可以考慮下?
7、區域網中運行 \\伺服器ip\c$,不能查看到伺服器的c盤;怎麼做?共享文件夾中已經有C$
運行-mstsc-伺服器IP-用戶名和密碼,就行了。
伺服器上一定要有密碼,還要開通遠程服務才行。
mstsc是微軟自帶的遠程服務。
希望能幫你。
8、各位大哥,小弟想請問下C/C++伺服器端編程是做什麼的。需要學些什麼。麻煩詳細一點。謝謝
C/C++的伺服器端,比如我們經常玩的網游,那個伺服器端大部分都是C/C++編程的。還有本地連接,網上鄰居,ftp協議之類的,基本上windows的客戶端網路服務都有對應的伺服器。
當然要學習C/C++伺服器編程,涉及的方面就比較多了,重要的有網路連接,多線程,數據存儲等等的。
你可以參考一下騰訊在C/C++伺服器編程工程師的要求。
工作要求:
工作有激情, 認真負責,盡職盡責,溝通協作意識良好,能夠承擔工作壓力,具備良好的學習能力和分析解決問題能力;
全面的軟體知識結構(操作系統、數據結構、資料庫系統、網路安全),有兩年以上互聯網應用開發經驗,有無線互聯網後台開發經驗優先;
熟練使用C/C++語言,熟悉Linux下調試、開發環境,對多線程、緩存系統、高性能、高可用系統有經驗者優先;
熟悉TCP/IP協議,能熟練使用網路分析工具分析網路相關的故障,有一定的網路編程經驗;
熟悉資料庫的設計、使用與基本調優,熟練使用mysql資料庫進行業務開發;
熟悉Linux,具備Linux下的系統開發經驗;
具備大並發、分布式存儲、大容量系統開發運營經驗優先。
9、c語言有網路編程有沒有人使用c做游戲伺服器
目前通用的編程語言有兩種形式:匯編語言和高級語言。
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。匯編程序通常由三部分組成:指令、偽指令和宏指令。匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。
高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類:
解釋類:執行方式類似於我們日常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。
編譯類:編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(* .OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如Visual C++、Visual Foxpro、Delphi等。
10、如何用C語言開發一個通用web伺服器?
用C語言開發WEB,可以用C++BUILDER6,稱ISAPI,一般人可能做不起來,有點麻煩;
唯一是速度很快,別人看不到源碼,掌握了編程套路,也可以開發應用;
缺點:
1。不是解釋性語言,做的WEB調試非常麻煩;現在做WEB開發的,用C#、JAVA較多;都是解釋性的語言;
2。因為是.DLL的二進制代碼,一般商業網站不給予運行的環境,因為網站伺服器會被你可能搞癱,安全性得不到保障;所以,你得自備網頁伺服器;
3。得不到技術支持,因為沒幾個人會這種開發;