早幾天寫的socket程式**,關鍵的幾個api的應用,作為熟悉socket程式設計的乙個例子
#include "imver.h"
int main()
sock_notify = socket(af_inet,sock_dgram,0);
if(invalid_socket == sock_notify)
sockaddr_in local;
local.sin_family = af_inet;
local.sin_port = htons(link_port);
local.sin_addr.s_un.s_addr = inaddr_any;
ip_mreq mulip;
mulip.imr_inte***ce.s_un.s_addr = inaddr_any;
mulip.imr_multiaddr.s_un.s_addr = inet_addr(mul_addr);
if(bind(sock_notify,(sockaddr*)&local,sizeof(local)) == socket_error)
if(setsockopt(sock_notify,ipproto_ip,ip_add_membership,(char*)&mulip,sizeof(mulip)) == socket_error)
/* int timeout = 7 * 1000;
if(socket_error == setsockopt(sock_notify, sol_socket, so_rcvtimeo , (char*)&timeout , sizeof(timeout)))
*/string msg = "上線通知";
clinkstruct *p = new clinkstruct();
p->ipstr = mul_addr;
p->msg = msg;
p->sock = sock_notify;
p->port = link_port;
dword threadsid,threadrid;
handle threads;
threads = ::createthread(null,0,threadsentnotify,(lpvoid)p,0,&threadsid); //開啟執行緒
handle threadr;
threadr = ::createthread(null,0,threadrecmsg,(lpvoid)p,0,&threadrid); //開啟執行緒
char c;
char sendmsg[10];
while(1)
if(c == 'q')
}sleep(10000);
closehandle(threads);
closehandle(threadr);
delete p;
//shutdown(sock_notify,sd_both);
if(socket_error == closesocket(sock_notify))
wsacleanup();
cout<<"ok"
return 1;
}
/*imver.h
*/#include
#include
#include
#include
#include
#include
#pragma comment(lib,"ws2_32.lib")
using
namespace std;
#define mul_addr "233.0.0.1"
#define mul_port 6000
#define link_port 5999
bool exitcheck = false;
class clinkstruct //乙個簡單的結構體
;int sent2addr(string ipstr,int port,string msg,socket sockpar) //傳送函式
int rec(socket sockpar) //接收
string add_str = "ip:"; //顯示
add_str += inet_ntoa(fromaddr.sin_addr);
coutcout}else}}
return 1;
}dword winapi threadrecmsg(lpvoid lp) //接收訊息執行緒
}return 1;
}
socket程式設計
一直以為serversocket accept之後客戶端才能發資訊,實驗後得出如下結論 1 serversocket沒有accept時,client是可以傳送資訊到server端的。2 serversocket accept之後,正在處理訊息時,client也是可以傳送資訊到server端。如果se...
Socket程式設計
對tcp ip udp socket程式設計這些詞你不會很陌生吧?隨著網路技術的發展,這些詞充斥著我們的耳朵。那麼我想問 1.什麼是tcp ip udp?2.socket在 呢?3.socket是什麼呢?4.你會使用它們嗎?什麼是tcp ip udp?tcp ip transmission cont...
socket程式設計
建立socket 建立乙個 socket,它可用於在基於 tcp ip 的網路 如 internet 上通訊。socket s new socket addressfamily.internetwork,sockettype.stream,protocoltype.tcp 若要使用 udp 而不是 ...