導航:首頁 > 源碼編譯 > 評價好的即時通訊源碼

評價好的即時通訊源碼

發布時間:2022-04-29 16:49:15

『壹』 即時通訊 c語言源碼

好像ipmsg有vc6工程

『貳』 求即時通訊軟體源代碼最好是C語言寫的,想學習一下,感謝各位

#pragmacomment(lib,"ws2_32.lib")
#include<winsock2.h>
#include<stdio.h>
#include<string.h>
#include<windows.h>
#include<PROCESS.H>

void_cdeclget_keyboard_input(void*param)
{
SOCKETsock=(SOCKET)param;
while(1)
{
charbuf[1024];
gets(buf);
intsByte=send(sock,buf,strlen(buf),0);
if(sByte==SOCKET_ERROR)
{
printf("send()failed:%d ",WSAGetLastError());

}
}
}

intmain()
{
WSADATAwsadata;
interr=WSAStartup(WINSOCK_VERSION,&wsadata);
if(err!=0)
{
printf("WSAStartup()failed:%d ",WSAGetLastError());
return-1;
}

SOCKETsock=socket(AF_INET,SOCK_STREAM,0);
if(sock==INVALID_SOCKET)
{
printf("socket()failed:%d ",WSAGetLastError());
WSACleanup();
return-1;
}

sockaddr_inserveraddr;
serveraddr.sin_family=AF_INET;
serveraddr.sin_port=htons(27015);
serveraddr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");

err=connect(sock,(sockaddr*)&serveraddr,sizeof(serveraddr));
if(err==INVALID_SOCKET)
{
printf("connect()failed:%d ",WSAGetLastError());
closesocket(sock);
WSACleanup();
return-1;
}
_beginthread(get_keyboard_input,0,(void*)sock);
Sleep(1000);

charrbuf[1024];
while(1)
{
memset(rbuf,0,1024);

intrByte=recv(sock,rbuf,1024,0);
if(rByte==SOCKET_ERROR)
{
printf("recv()failed:%d ",WSAGetLastError());
closesocket(sock);
WSACleanup();
return-1;
}
if(rByte==0)
{
printf("Connectionisclosed. ");
break;
}
printf("TCPrecvDATA:%s ",rbuf);
Sleep(1000);
}

closesocket(sock);
WSACleanup();
return0;
}
服務端:
#pragmacomment(lib,"ws2_32.lib")
#include<winsock2.h>
#include<stdio.h>
#include<string.h>
#defineMAX_CLIENT_NUM63

intmain()
{
WSADATAwsadata;
interr=WSAStartup(WINSOCK_VERSION,&wsadata);
if(err!=0)
{
printf("WSAStartup()failed:%d ",WSAGetLastError());
return-1;
}

SOCKETsock=socket(AF_INET,SOCK_STREAM,0);
if(sock==INVALID_SOCKET)
{
printf("socket()failed:%d ",WSAGetLastError());
WSACleanup();
return-1;
}

sockaddr_inlocaladdr;
localaddr.sin_family=AF_INET;
localaddr.sin_port=htons(27015);
localaddr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);

err=bind(sock,(sockaddr*)&localaddr,sizeof(localaddr));
if(err==INVALID_SOCKET)
{
printf("bind()failed:%d ",WSAGetLastError());
closesocket(sock);
WSACleanup();
return-1;
}

err=listen(sock,5);
if(err==INVALID_SOCKET)
{
printf("listen()failed:%d ",WSAGetLastError());
closesocket(sock);
WSACleanup();
return-1;
}

SOCKETclient[MAX_CLIENT_NUM];
for(inti=0;i<MAX_CLIENT_NUM;i++)
{
client[i]=INVALID_SOCKET;
}

fd_setrset,allset;
FD_ZERO(&allset);
FD_SET(sock,&allset);

#defineMSG_MAX_SIZE1024
charbuf[MAX_CLIENT_NUM][MSG_MAX_SIZE];

while(1)
{

rset=allset;
intret=select(0,&rset,NULL,NULL,NULL);
if(ret==SOCKET_ERROR)
{
printf("select()failed:%ld ",WSAGetLastError());
break;
}

if(ret==0){
continue;
}

if(FD_ISSET(sock,&rset))
{
sockaddr_inclientaddr;
intlen=sizeof(clientaddr);
SOCKETsockconn=accept(sock,(sockaddr*)&clientaddr,&len);
if(sockconn==INVALID_SOCKET)
{
printf("accept()failed:%d ",WSAGetLastError());
break;
}
printf("Client'sIP:%s Client'sPort:%d ",inet_ntoa(clientaddr.sin_addr),clientaddr.sin_port);

for(i=0;i<MAX_CLIENT_NUM;i++)
{
if(client[i]==INVALID_SOCKET)
{
client[i]=sockconn;
break;
}
}
if(i<MAX_CLIENT_NUM)
{
FD_SET(sockconn,&allset);
}

else{
printf("toomanyclient");
closesocket(sockconn);
}

}
for(i=0;i<MAX_CLIENT_NUM;i++)
{
if((client[i]!=INVALID_SOCKET)&&FD_ISSET(client[i],&rset))
{
memset(buf[i],0,MSG_MAX_SIZE);
intrByte=recv(client[i],buf[i],MSG_MAX_SIZE,0);
if(rByte==SOCKET_ERROR)
{
printf("recv()failed:%d ",WSAGetLastError());
FD_CLR(client[i],&allset);
closesocket(client[i]);
client[i]=INVALID_SOCKET;
continue;
}

if(rByte==0)
{
printf("Connectionisclosed.");
FD_CLR(client[i],&allset);
closesocket(client[i]);
client[i]=INVALID_SOCKET;
continue;
}

for(intj=0;j<MAX_CLIENT_NUM;j++)
{
if((client[j]!=INVALID_SOCKET))
{

intsByte=send(client[j],buf[i],1024,0);
if(sByte==SOCKET_ERROR)
{
printf("send()failed:%d ",WSAGetLastError());
}

}
}
printf("TCPrecv[%d]DATA:%s ",rByte,buf[i]);
}
}

}
closesocket(sock);
WSACleanup();
return0;
}

『叄』 那個有C# 編寫的即時通訊源碼嗎

/*這個程序簡單的實現了,兩台計算機間的即使通訊,僅僅實現了最最最基本的功能,而且要首先啟動伺服器端,客戶端和伺服器端都實現後,必須讓客戶端首先發送數據,這里我使用的ip地址是「127.0.0.1」;是因為伺服器和客戶端在同一台電腦上,僅僅用於測試 ,參考書籍《helloworld c#和。net3.0 第一步》*/

//程序在vs2005 單台電腦下測試成功,不同電腦上,將127.0.0.1修改為SERVER端的主機ip即可~

// 點對點即時通訊伺服器端,作者 yys 最後修改時間 .09-10-24
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.IO;

namespace Server
{
class Server
{
static void Main(string[] args)
{
IPAddress localAdrr = IPAddress.Parse("10.28.73.138"); //建立一個IP地址對象

TcpListener server = new TcpListener(localAdrr, 13000); //創建偵聽器;

//開始偵聽
server.Start();
Console.WriteLine("等候一個連接。。。");

//接受一個連接,創建伺服器端

TcpClient client = server.AcceptTcpClient();

Console.WriteLine("客戶端已經連接");

NetworkStream stream = client.GetStream();

//設置在stream 通道上的流讀寫器對象!
StreamReader sr = new StreamReader(stream);
StreamWriter sw = new StreamWriter(stream);

while (true)
{
Console.WriteLine("客戶端:" + sr.ReadLine()); //從通道中讀出客戶端發出的數據!
string msg = Console.ReadLine();
sw.WriteLine(msg); //服務端向緩沖區寫入數據;
sw.Flush(); //清理緩沖區,將緩沖數據寫入基礎流
}

}
}
}

//客戶端
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Net;
using System.Net.Sockets;

namespace Client
{
class Program
{
static void Main(string[] args)
{
IPAddress serverAddr = IPAddress.Parse("10.28.73.138");//創建一個ip地址對象

TcpClient client = new TcpClient(); //創建一個節點(一般一個IP號,加一個埠好稱為網路上的一個節點)

client.Connect(serverAddr, 13000); //指定ip地址,和埠號,連接到遠程tcp主機

//建立一個NetworkStream對象,即兩台計算機之間的通道
NetworkStream stream = client.GetStream();

//創建流讀寫器
StreamReader sr = new StreamReader(stream);
StreamWriter sw = new StreamWriter(stream);

while (true)
{
string msg = Console.ReadLine();

sw.WriteLine(msg);
//清除流緩沖區
sw.Flush();
//從伺服器端,讀出數據
Console.WriteLine("伺服器:" + sr.ReadLine());
}

}
}
}
//很久前寫的了,這是宇宙無敵究級最最精簡版的了,五臟俱全吧! 你可以參考一下~ 希望對你有幫助

『肆』 求一個c語言 c++ 即時通訊系統源代碼

我有兩套軟體,一個是基於客戶端/服務端的通訊軟體,一個是單客戶端區域網通訊軟體,VC++開發,支持文字,表情,圖片及其文件斷點傳輸,提供源代碼!

『伍』 即時通訊源碼

如意通RTP,是一個開源的即時通訊軟體,自己下載去

『陸』 免費的即時通訊軟體哪家好

個人用戶早已習慣了免費的QQ、微信等即時通訊軟體,但是對於企業用戶,卻難以找到同樣免費的企業即時通訊軟體,大多數老牌企業即時通訊軟體諸如騰訊通RTX等都有不菲的使用費用,對於企業來說每年都是一筆大支出。那麼企業即時通訊軟體有哪些是免費的並且適用性比較強的呢?我來給介紹五款不錯的免費企業即時通訊軟體,相信對於中小型企業在選擇產品、節省運營成本方面會有一定的幫助。(註:本文列舉的產品都是免費企業及時通訊軟體,因此像通訊錄RTX這種完全收費的產品,雖然品牌很硬,但是並不在文中提及。
No.1 第一企信
第一企信是一款企業即時通訊辦公軟體平台,擁有windows客戶端、Android客戶端、iOS客戶端,全面支持移動辦公。作為新產品,第一企信能夠緊隨imo其後排到第二名,最重要的一點就是第一企信是真正意義上完全免費的企業即時通訊產品。它放棄大多數同類產品打著免費旗號卻限制用戶數量、增加收費功能的做法。第一企信的公有雲產品不限制用戶數量,不限制用戶使用功能,完全免費。同時針對一些大型企業非常強烈的入駐式部署需求,第一企信推出可入駐式部署的產品,這種產品除了具備公有雲產品的各種功能之外,還能更好地與企業原本的信息系統,電話網路相結合。

第一企信力求通過深度挖掘企業辦公的溝通需求,打造一個實名制的工作圈,產品功能目前聚焦於企業溝通上,具備組織架構、即時通訊、網路電話、電話會議、文件傳輸等功能,同時產品的界面風格筆者認為是目前所有企業應用中最時尚的。同時第一企信一改傳統企業應用一年也不一定更新一次的傳統,它採用互聯網產品模式,敏捷開發快速迭代,幾周發布一次新版本提升產品性能並增加功能。因此筆者認為第一企信是當前真正免費的企業即時通訊產品中最具潛力最優秀的一個。
No.2 imo雲辦公室
在中國的企業即時通訊市場,imo是個相當不錯的品牌。imo的定位是「企業即時通訊 +企業雲辦公平台」。具有基於企業組織架構通訊錄的企業IM功能,以及基於IM功能的一些辦公常用諸如流程審批、簡訊平台等功能。imo在最初是完全免費使用的,當時從收費的RTX手中搶來了不少用戶量,功能的易用性也普遍得到用戶的認可。不過imo在免費沒多久之後就開始進行收費,公有雲版本根據功能劃分出三個版本進行不同標準的收費,並針對簡訊平台等功能推出了一些增值付費功能,此舉卻也傷了不少老用戶的心,讓一些老用戶最終放棄imo。

不過目前,imo對於50人以內的團隊依然是基礎功能完全免費使用,這對於一些創業團隊和小型企業還是值得一用的產品
No.3 好訊
好訊也是一款不錯的企業即時通訊軟體,產品分為在線版、企業版、電商版三個版本,其中在線版是免費使用的版本,簡單注冊即可投入使用。產品具有組織架構、即時消息、公告通知等常見企業應用功能。
No.4 信鴿
信鴿同第一企信一樣,也是完全免費並且移動端強大的一款企業即時通訊產品,信鴿只有公有雲版本,沒有私有化入駐式部署的產品。信鴿支持組織架構批量導入、即時消息、VOIP通話、簡單日程提醒等功能。同時,信鴿支持一個人在多個企業/組織架構中,方便小型合作團隊之間的使用。不過筆者一直覺得信鴿有一個不太舒服的地方,就是移動端上組織架構的顯示方式不太友好,一次只能看到一級目錄,經常想不起來當前看的是哪個部門的信息
No.5 FastMsg
FastMsg集成了組織架構即時通訊、網頁客服、文件傳輸、語音視頻、遠程協助、應用中心、公告通知等功能,支持區域網和互聯網部署。對於產品的基本功能使用完全免費,同時針對定製開發和系統化集成進行收費。FastMsg還是目前能找到的唯一一款開放源代碼的企業即時通訊產品,企業用戶可以購買它的源代碼,之後可以自己修改源代碼來進行自己的定製化開發。

FastMsg的功能性還是比較強的,不過用戶普遍反饋它的產品細節處理不是很好,用戶體驗上不是很好。同時FastMsg還有一個最嚴重的問題就是,目前為止只有PC端,沒有手機端。在這個移動互聯網時代,沒有手機端實在是非常大的問題。

『柒』 求一份基於JAVA的即時通訊軟體的源碼,必須要完整的放在eclipse下可直接運行的,最好不要有錯誤,簡單就行

商品社會拒絕白乾,第一,沒有人會給你這個程序。第二,就算有人給你,他也不會耐心告訴你怎麼配置,怎麼裝資料庫。怎麼運行。 隨隨便便來這里就想白要,你覺得可能嗎。我說話可能不好聽,但是這是事實。

『捌』 誰有比較好的即時通訊(C#的)的軟體和源碼么可以分享下不

吞了。度娘胃口好。

『玖』 一對一直播源碼開發,即時通訊技術實現有哪幾種選擇

在一對一直播交友源碼的開發過程中,即時通訊是最關鍵的功能之一。那一對一直播源碼系統是如何實現即時通訊的呢?
即時通訊就是實時語音文字視頻等交流,實現即時通訊目前有四種方式:短輪詢、長輪詢、SSE、websocket,接下來我們來按順序簡單了解一下。
(1)短輪詢
即每隔一小段時間就發送一個請求到伺服器,伺服器返回最新數據然後客戶端根據獲得的數據來更新界面,這樣就間接地實現了即時通信。這一方式的優點是簡單,缺點是對伺服器的壓力較大,浪費帶寬的流量,但通常情況下數據都是沒有發生改變的。
(2)長輪詢
即客戶端發送一個請求到伺服器,然後伺服器查看客戶端請求的數據(就是伺服器中的數據)是否發生變化,如果發生變化,就會立即響應返回,否則保持這個鏈接並定期檢查最新數據,直到發生了數據更新或者連接超時。因此,客戶端連接一旦斷開,就會再次發出請求,這樣一來,在相同的時間內大大減少了客戶端請求伺服器的次數。這一方式有一個弊端:伺服器長時間的連接會消耗資源,返回數據的順序無法保證,管理和維護困難。
(3)SSE
即伺服器推送事件,為了解決瀏覽器只能夠單向傳輸數據到服務端,HTML5提供了一種新的技術叫做伺服器推送事件SSE。SSE技術提供的是從伺服器單向推送數據給瀏覽器的功能,但是配合瀏覽器主動請求,實際上就是實現客戶端與伺服器之間的雙向通信。
(4)Websocket
在HTML5中,為了加強web的功能,提供了websocket技術,它不僅是一種web通信方式,也是一種應用層協議。它提供了瀏覽器和伺服器之間原生的全雙工跨域通信。通過瀏覽器和伺服器之間所建立的websocket連接,在同一時刻能夠實現客戶端到伺服器和伺服器到客戶端的數據發送。

閱讀全文

與評價好的即時通訊源碼相關的資料

熱點內容
看幀率app如何使用 瀏覽:523
從DHC伺服器租用IP地址 瀏覽:473
編譯怎麼學 瀏覽:329
數碼管顯示0到9plc編程 瀏覽:665
伺服器是為什麼服務的 瀏覽:765
java定義數據類型 瀏覽:874
安卓pdf手寫 瀏覽:427
什麼是app開發者 瀏覽:284
android鬧鍾重啟 瀏覽:101
程序員失職 瀏覽:518
在雲伺服器怎麼改密碼 瀏覽:586
伺服器pb什麼意思 瀏覽:940
51駕駛員的是什麼app 瀏覽:670
php靜態變數銷毀 瀏覽:888
編程買蘋果電腦 瀏覽:762
flac演算法 瀏覽:499
reactnative與android 瀏覽:665
程序員是干什麼的工作好嗎 瀏覽:258
kbuild編譯ko 瀏覽:471
條件編譯的宏 瀏覽:566