91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 51KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-21
  • 語言: 其他
  • 標(biāo)簽: GDB??Eclipse??

資源簡介

linux 語音傳輸系統(tǒng),在linux環(huán)境下運(yùn)行。linux 語音傳輸系統(tǒng),在linux環(huán)境下運(yùn)行。linux 語音傳輸系統(tǒng),在linux環(huán)境下運(yùn)行。linux 語音傳輸系統(tǒng),在linux環(huán)境下運(yùn)行。linux 語音傳輸系統(tǒng),在linux環(huán)境下運(yùn)行。linux 語音傳輸系統(tǒng),在linux環(huán)境下運(yùn)行。

資源截圖

代碼片段和文件信息

//============================================================================
//?Name????????:?AudioServer.cpp
//?Author??????:?Fang
//?Version?????:
//?Copyright???:?All?rights?reserved?by?Mr.Fang.
//?Description?:?Hello?World?in?C?Ansi-style
//============================================================================

#include?
#include?
#include?
#include?
#include?
#include?“socketxx.h“
#include?“ClientSession.h“
#include?“AudioThread.h“

#include?“sconfig.h“
#include?“AudioServer.h“
#include?“Utils.h“

SessionList?slist;
struct?ServerConfig?g_config;
AudioServer::AudioServer()?{

}

AudioServer::~AudioServer()?{
servSock.close();
}
/**?ClientThread
?*?客戶端會話的線程
?*/
void?*AudioServer::ClientThread(void?*args)?{
int?sock?=?(int)args;
printf(“Client?thread?%llu\n“?(unsigned?long?long)pthread_self());

ClientSession?session(sock);
session.SetList(&slist);
session.SetConfig(&g_config);
session.Start();

return?NULL;
}
/**?AudioSession
?*?音頻發(fā)送的線程
?*/
void?*AudioServer::AudioSession(void?*args)?{
AudioThread?thread;
struct?ServerConfig?*conf?=?(struct?ServerConfig?*)args;

pthread_detach(pthread_self());
thread.SetList(&slist);
thread.SetConfig(conf);
thread.Start();
return?NULL;
}

bool?AudioServer::GetConfig(const?char?*path?struct?ServerConfig?&conf)?{
SConfig?cf;
char?buf[128];

if(!cf.ParseIniFile(path))?{
printf(“Parse?config?file?%s?failed\n“?path);
return?false;
}
if(cf.GetNode(“SERVER“?“TCP_PORT“?buf)?!=?NULL)?{
conf.tcpPort?=?atoi(buf);
}
else?{
conf.tcpPort?=?7070;
}
if(cf.GetNode(“SERVER“?“UDP_PORT“?buf)?!=?NULL)?{
conf.udpPort?=?atoi(buf);
}
else?{
conf.udpPort?=?6000;
}
if(cf.GetNode(“SERVER“?“LOG_PATH“?conf.logPath)?==?NULL)?{
strcpy(conf.logPath?“./logs“);
}
if(cf.GetNode(“SERVER“?“AUDIO_DEVICE“?conf.audioDevice)?==?NULL)?{
strcpy(conf.audioDevice?“/dev/dsp“);
}
if(cf.GetNode(“SERVER“?“SERVER_IP“?conf.serverIP)?==?NULL)?{
memset(conf.serverIP?0?sizeof(conf.serverIP));
}
return?true;
}
int?AudioServer::StartService(const?char?*configFile)?{
pthread_t?threadID;
int?size;
int?sock;

struct?sockaddr_in?clientAddr;

GetConfig(configFile?g_config);
servSock.create(AF_INET);
if(!servSock.bind(NULL?g_config.tcpPort))?{
perror(“Bind“);
return?-1;
}
servSock.listen(10);
pthread_create(&threadID?NULL?AudioSession?&g_config);

while(1)?{
size?=?sizeof(clientAddr);
sock?=?servSock.accept((SA?*)&clientAddr?&size);
if(sock? perror(“accept“);
continue;
}
if(pthread_create(&threadID?NULL?ClientThread?(void?*)sock)?!=?0)?{
perror(“pthread_create“);
sleep(1);
continue;
}
}
return?0;
}

void?IgnoreSignals()?{
signal(SIGPIPE?SIG_IGN);
signal(SIGHUP?SIG_IGN);
}

int?main(int?argc?char?*argv[])?{
puts(“Start?Audio?Server“);
int?ret;
pid_t?pid;

if(IsProcRunning(“AudioServer.exe“))?{
printf(“Process?is?already?running\n“);
return?0;
}
else?{
SavePidFile((in

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????11378??2011-11-06?15:11??AudioServer\.cproject

?????文件???????2417??2011-11-06?15:11??AudioServer\.project

?????文件???????3595??2011-11-06?15:11??AudioServer\AudioServer.cpp

?????文件????????933??2011-11-06?15:11??AudioServer\AudioServer.h

?????文件???????3385??2011-11-06?15:11??AudioServer\AudioThread.cpp

?????文件????????983??2011-11-06?15:11??AudioServer\AudioThread.h

?????文件???????8539??2011-11-06?15:11??AudioServer\Client.cpp

?????文件???????4318??2011-11-06?15:11??AudioServer\ClientSession.cpp

?????文件???????1867??2011-11-06?15:11??AudioServer\ClientSession.h

?????文件????????322??2011-11-06?15:11??AudioServer\common.h

?????文件????????521??2011-11-06?15:11??AudioServer\Makefile

?????文件????????855??2011-11-06?15:11??AudioServer\membuffer.h

?????文件???????1776??2011-11-06?15:11??AudioServer\play.cpp

?????文件????????875??2011-11-06?15:11??AudioServer\SessionList.cpp

?????文件????????653??2011-11-06?15:11??AudioServer\SessionList.h

?????文件???????6209??2011-11-06?15:11??AudioServer\socketxx.cpp

?????文件???????3622??2011-11-06?15:11??AudioServer\socketxx.h

?????文件???????1932??2011-11-06?15:11??AudioServer\utils\LoopQueue.cpp

?????文件????????641??2011-11-06?15:11??AudioServer\utils\LoopQueue.h

?????文件????????855??2011-11-06?15:11??AudioServer\utils\membuffer.h

?????文件???????2956??2011-11-06?15:11??AudioServer\utils\sconfig.cpp

?????文件???????1426??2011-11-06?15:11??AudioServer\utils\sconfig.h

?????文件???????1953??2011-11-06?15:11??AudioServer\utils\Utils.cpp

?????文件????????753??2011-11-06?15:11??AudioServer\utils\Utils.h

?????文件???????1124??2011-11-06?16:40??AudioServer\utils\.svn\entries

?????文件??????????2??2011-11-06?15:11??AudioServer\utils\.svn\format

?????文件???????1932??2011-11-06?15:11??AudioServer\utils\.svn\text-base\LoopQueue.cpp.svn-base

?????文件????????641??2011-11-06?15:11??AudioServer\utils\.svn\text-base\LoopQueue.h.svn-base

?????文件????????855??2011-11-06?15:11??AudioServer\utils\.svn\text-base\membuffer.h.svn-base

?????文件???????2956??2011-11-06?15:11??AudioServer\utils\.svn\text-base\sconfig.cpp.svn-base

............此處省略80個文件信息

評論

共有 條評論