當前位置:首頁 » 雲伺服器 » qt搭建區域網聊天伺服器

qt搭建區域網聊天伺服器

發布時間: 2024-01-19 11:40:10

Ⅰ 如何用C語言編寫一個簡單的聊天室程序

這樣:

#include <stdlib.h>

#include <stdio.h>

#include <errno.h>

#include <string.h>

#include <unistd.h>

#include <netdb.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <sys/types.h>

#include <arpa/inet.h>

#include <pthread.h>

#define MAXLINE 100;

void *threadsend(void *vargp);

void *threadrecv(void *vargp);

int main()

{

int *clientfdp;

clientfdp = (int *)malloc(sizeof(int));

*clientfdp = socket(AF_INET,SOCK_STREAM,0);

struct sockaddr_in serveraddr;

struct hostent *hp;

bzero((char *)&serveraddr,sizeof(serveraddr));

serveraddr.sin_family = AF_INET;

serveraddr.sin_port = htons(15636);

serveraddr.sin_addr.s_addr = inet_addr("127.0.0.1");

if(connect(*clientfdp,(struct sockaddr *)&serveraddr,sizeof(serveraddr)) < 0){

printf("connect error ");

exit(1);

}

pthread_t tid1,tid2;

printf("connected ");

while(1){

pthread_create(&tid1,NULL,threadsend,clientfdp);

pthread_create(&tid2,NULL,threadrecv,clientfdp);

}

return EXIT_SUCCESS;

}

void *threadsend(void * vargp)

{

//pthread_t tid2;

int connfd = *((int *)vargp);

int idata;

char temp[100];

while(1){

//printf("me: ");

fgets(temp,100,stdin);

send(connfd,temp,100,0);

printf(" client send OK ");

}

printf("client send ");

return NULL;

}

void *threadrecv(void *vargp)

{

char temp[100];

int connfd = *((int *)vargp);

while(1){

int idata = 0;

idata = recv(connfd,temp,100,0);

if(idata > 0){

printf("server : %s ",temp);

}

}

return NULL;

}

(1)qt搭建區域網聊天伺服器擴展閱讀:

注意事項

linux編譯多線程代碼時,shell提示找不到 pthread_create函數,原因是 pthread.h不是linux系統默認載入的庫文件,應該使用類似如下gcc命令進行編譯:

gcc echoserver.c -lpthread -o echoserver

只要注意 -lpthread參數就可以了。

Ⅱ 如何在區域網內架設視頻 直播 流媒體伺服器

所謂流媒體技術,是指將連續的影像和聲音信息經過壓縮處理後放在網站伺服器上,讓用戶能夠一邊下載一邊觀看、收聽(即所謂的「在線欣賞」),而不需要等整個壓縮文件下載到自己的機器上才可以欣賞的網路傳輸技術。目前,在這個領域中的競爭者主要有微軟、RealNetworks、Apple三家公司,例如微軟新近發布了Windows Media Services 9、RealNetworks公司新近發布的Helix Platform、Apple新近發布的Darwin streaming server 4.1,意圖在流媒體領域大幹一場。

一般來說,一個完整的流媒體服務系統需要三個部分組成:編碼器、流伺服器和播放器。編碼器通過對內容來源(如MP3文件或者麥克風輸入)進行編碼,並將編碼過的內容發送到流伺服器;流伺服器再將它們發布到Internet,這樣客戶端的播放器只要連接到流伺服器就可以進行在線播放了。

架設REAL格式的視頻點播中心

如果是架設視頻點播伺服器,那麼選擇Real格式是非常明智的。因為RealProcer Plus這款功能強大的軟體操作相當簡單,每次使用時會彈出一個向導對話框進行操作提示。目前最新版本是10.0,我們只要選擇8.5.1以上的版本即可。

從「工具」菜單下選擇「創建網頁」命令,此時會彈出一個如圖2所示的向導式對話框,點擊「前進」按鈕選擇你希望用於創建Web頁面的Real多媒體文件。隨後RealProcer會詢問是創建「彈出式播放器」還是「嵌入式播放器」,一般建議選擇後者,因為這樣所需要的系統資源更低,當然啟動速度也更快。至於播放器的界面,可以選擇「標准播放器」,很快就可以創建成功。

最後,RM文件對象所在的目錄會增加一些文件,請將這些文件與RM對象一起上傳,不過要注意保證RM文件與HTML文件在同一目錄下,否則播放器可能無法找到播放對象。

架設WMP流媒體伺服器
微軟的手伸得很長,什麼領域都要插足一下。憑借著Windows操作系統的影響力,Windows Media Player市場佔有率越來越高,而微軟的*.asf、*.wmv、*.wma、*.avi等格式也開始被越來越多的用戶所接受。

架設WMP流媒體伺服器,你需要安裝Windows Media Encoder才行,目前最新版本是9.0簡體中文版。如圖3所示,我們應該在這里選擇「廣播實況事件」,接著選擇用來編碼的音頻和視頻設備。注意請事先將音頻和視頻設備與計算機正確連接,否則會無法檢測到。接著你還需要指定服務和發布點,當然也可以使用現有的發布點。然後Windows Media Encoder會自動創建伺服器,並給出HTTP連接地址與區域網內部地址,請記住這些內容,最後點擊「開始」按鈕正式啟動WMP流媒體伺服器。

接下來,我們就可以將剛才記下的HTTP連接地址與區域網內部地址告訴給朋友們。他們只要打開IE,輸入正確的IP地址和埠號,很快就可以訪問WMP流媒體伺服器。

架設QT流媒體伺服器
平時,我們見到的大多是打造MWF(矢量地圖窗口文件,Map Window File)或RM流伺服器,可是你可知道QuickTime(以下簡稱QT)流媒體伺服器應該如何來打造嗎?其實,藉助蘋果的QuickTime Streaming Server工具,我們可以在短時間內快速打造出一台QT流伺服器。

首先我們要准備一些工具,QuickTime媒體播放工具當然是必不可少的。目前最新版本是6.5簡體中文版,到處都可以找到,或者直接到蘋果公司的網站下載,並且需要在伺服器和客戶端同時安裝。Perl語言解析器,最低版本要求是5.0以上。QuickTime Streaming Server與用戶見面最早是在1999年,當時以其開放源代碼和基於標準的實時傳輸協議/實時流協議(RTP/RTSP)引擎深深地動搖了流媒體工業的基礎,目前的最新版本是5.0,下載文件共9.2MB。

從地址可以免費下載,但你必須擁有Apple的注冊用戶名才能登錄(注冊是免費的),這里有Mac OS X、Red Hat、Solaris、Windows NT/2000/XP等版本可供選擇。下載回來的是一個自解壓文件,釋放後執行Install.bat運行安裝程序,運行過程在命令提示符窗口中完成,最後還需要設置登錄用戶名、密碼,如圖4所示,當看到「Setup Complete!」的提示信息時即大功告成。QT流媒體伺服器建設過程和RM類似,在這里就不再贅述。

如何共享音頻和視頻

共享音頻
前面,我們利用Winamp、SHOUTcast Server將本機架設為一台MP3流伺服器,那麼該如何讓遍布天南海北的朋友或區域網中的同事欣賞這些美妙音樂呢?

這有兩種方法:一種是打開Winamp,從「Play」菜單下選擇「Location」命令,或者直接鍵入「Ctrl-L」組合鍵打開一個對話框,然後在這里鍵入MP3流伺服器的URL地址或者IP地址、埠號(預設為8000),例如「」或者「」即可收聽;另一種方法則更為簡單,從IE中打開「」進入Web管理頁面,如圖5所示,然後點擊「收聽」按鈕就可以在線收聽MP3流音樂。

共享視頻
雖然蘋果的QuickTime Player的市場佔有率遠遠不如Real或Windows Media Player,但忠實的用戶依然不少。而且蘋果畢竟是網路流媒體的開山鼻祖,因此許多最新大片都是採用QT格式。

首先必須在機器上啟動QT服務,然後通知朋友們在遠程計算機中打開QuickTime。從「文件」菜單中選擇「在新的播放窗口中打開URL」命令,鍵入「rtsp://server/file.mov」來訪問QT流伺服器以實現遠程播放。這里的「server」是伺服器的IP地址,「file.mov」是媒體文件名,默認的RTSP傳輸埠是554埠。如果網路連接沒有什麼問題的話,如圖6所示,那麼你很快就可以連接成功。

建立播放列表或點播系統
辛辛苦苦架設了一台流媒體伺服器,我們還可以建立播放列表或點播系統,甚至可以進行網路直播,反正已經用上了寬頻,不用也是浪費。

配置QT流媒體伺服器
打開IE,在地址欄中輸入「」,這里的「server」代表伺服器的IP地址。如果前面的配置沒有什麼問題的話,很快就會進入如圖7所示的管理頁面,這里以列表形式顯示了當前的系統資源佔用情況和相關的伺服器信息。我們可以在這里查看連接到伺服器的用戶類型、IP地址、數據速率、數據傳輸量、包丟失比例、連接時間、連接文件等內容,也可以在這里設置映射文件夾加密傳輸、最大連接用戶數、分配帶寬、重置密碼、更改埠,如果你需要的話,還可以查看錯誤日誌和操作日誌。

創建播放列表

點擊圖7窗口右側的「New MP3 Playlist」或「New Movie Playlist」按鈕,我們可以創建一個MP3或影片的播放列表。不過這里需要說明的是,你需要將相關的媒體文件復制到C:\Program Files\Darwin Streaming Server\Movies文件夾中才行。

如圖8所示,我們可以在這里通過「Weight」旁邊的小三角箭頭重新調整播放列表的播放順序,可惜的是QuickTime Streaming Server對簡體中文的支持十分差勁,顯示的竟然是一些亂碼字元。最後,點擊窗口右下角的「Save Changes」按鈕就可以將這份新建的播放列表保存下來,以後如果需要更改的話可以選擇「Edit Playlist」重新配置。

不過,如果你希望其他用戶也能訪問這份播放列表文件,還必須點擊「Avaliable Playlists」列表框中的「Status」下的播放按鈕,也就是讓「Status」列的「Stopped」變為「Playing」才行。

實現網路直播
如果你還想在播放完MP3歌曲後說上一段話,那麼簡單的很,只要一個話筒就行了。不過,還需要在Winamp中進行一些設置,如圖9所示,在「Input Device」下拉列表框中選擇「Soundcard Input」項,這樣才會出現圖中的SoundCard Mixer設置項。如果使用默認的設置「Winamp(Recommended)」的話就只有Input Levels一項了,下面還有「Music Level」、「BGMusic Level」、「Mic Level」幾個滑塊可以調節音量的大小,而「Fade Time」是用來設

置移出時間值。
現在,你無需進行其它設置,准備一番後,清清嗓子,點擊「Push to Talk」按鈕,然後再按下「Lock」按鈕鎖定當前話音輸入模式。接下來就可以對著麥克風開始你的網路直播之旅了,結束請再次按下「Lock」按鈕解鎖

熱點內容
c語言實現復數運算 發布:2024-11-30 13:30:17 瀏覽:767
安卓手機要怎麼下載突擊隊ol 發布:2024-11-30 13:03:42 瀏覽:636
修改密碼sql語句 發布:2024-11-30 12:54:54 瀏覽:156
搭建手游用什麼伺服器 發布:2024-11-30 12:54:09 瀏覽:171
四川密碼門鎖在哪裡買 發布:2024-11-30 12:50:29 瀏覽:401
手機編寫腳本軟體 發布:2024-11-30 12:41:02 瀏覽:873
學php如何 發布:2024-11-30 12:36:48 瀏覽:858
家庭電腦改網盤伺服器 發布:2024-11-30 12:32:13 瀏覽:106
電腦伺服器組裝系統 發布:2024-11-30 12:32:11 瀏覽:999
在線顯示wifi密碼是什麼 發布:2024-11-30 12:30:53 瀏覽:727