1樓:匿名使用者
c#的socket程式我到是有很多,tcp,udp,同步非同步的都有,但是沒有c++的.
2樓:祚胤
1.簡單伺服器
//#include
//#pragma comment(lib,"ws2_32.lib")
wsadata wsd;
static uint port=%%1;
uint listen(lpvoid pparam)
sserver=socket(af_inet,sock_stream,ipproto_tcp);
if(invalid_socket==sserver)
sockaddr_in addrserv;
addrserv.sin_family=af_inet;
addrserv.sin_port=htons((short)pparam);
addrserv.sin_addr.s_addr=inaddr_any;
if(socket_error==retval)
retval=listen(sserver,1);
if(socket_error==retval)
sockaddr_in addrclient;
int addrclientlen=sizeof(addrclient);
if(invalid_socket==sclient)
zeromemory(buf,sizeof(buf));
retval=recv(sclient,buf,sizeof(buf),0);
if(socket_error==retval)
cstring %%2(buf);
closesocket(sserver);
closesocket(sclient);
wsacleanup();
return 0;
2.簡單客戶端
//#include
//#pragma comment(lib,"ws2_32.lib")
wsadata wsd;
socket shost;
sockaddr_in servaddr;
char buf[1024];
int retval;
shost=socket(af_inet,sock_stream,ipproto_tcp);
if(invalid_socket==shost)
servaddr.sin_family=af_inet;
servaddr.sin_addr.s_addr=inet_addr(%%3);
servaddr.sin_port=htons((short)%%2);
int nservaddlen=sizeof(servaddr);
if(socket_error==retval)
zeromemory(buf,sizeof(buf));
strcpy(buf,%%3);
retval=send(shost,buf,sizeof(buf),0);
if(socket_error==retval)
closesocket(shost);
wsacleanup();
3.獲得本機ip
//#include
//#pragma comment(lib,"ws2_32.lib")
wsadata wsd;
char szhostname[100],szhostaddress[200];
if(gethostname(szhostname,sizeof(szhostname))!=socket_error)
}else
return;
cstring %%1(szhostaddress);
4.端對端通訊
//#include
//#pragma comment(lib,"ws2_32.lib")
wsadata wsd;
socket s;
char buf[1024];
s=socket(af_inet,sock_dgram,0);
if(s==invalid_socket)
sockaddr_in servaddr;
servaddr.sin_family=af_inet;
servaddr.sin_addr.s_addr=inet_addr(%%1);
servaddr.sin_port=htons(inaddr_any);
int nservaddrlen=sizeof(servaddr);
zeromemory(buf,sizeof(buf));
cstring %%2(buf);
zeromemory(buf,sizeof(buf));
strcpy(buf,%%3);
sockaddr_in clientaddr;
clientaddr.sin_family=af_inet;
clientaddr.sin_addr.s_addr=inet_addr(%%4);
clientaddr.sin_port=htons((short)%%5);
int nclientlen=sizeof(clientaddr);
closesocket(s);
wsacleanup();
5.點對點通訊
//#include
//#pragma comment(lib,"ws2_32.lib")
wsadata wsd;
sockaddr_in addrserv,addrserv2;
socket sserver,sclient,shost;
int retval;
sockaddr_in addrclient;
char buf[1024];
static uint port=%%2;
bool listenerrun=true;
uint listen(lpvoid pparam)
retval=listen(sserver,1);
if(socket_error==retval)
int addrclientlen=sizeof(addrclient);
if(invalid_socket==sclient)
while(listenerrun)
cstring %%4(buf);}}
sserver=socket(af_inet,sock_stream,ipproto_tcp);
if(invalid_socket==sserver)
shost=socket(af_inet,sock_stream,ipproto_tcp);
if(invalid_socket==shost)
servaddr2.sin_family=af_inet;
servaddr2.sin_addr.s_addr=inet_addr(%%1);
servaddr.sin_port=htons((short)%%3);
int nserveraddrlen=sizeof(servaddr2);
if(socket_error==retval)
zeromemory(buf,sizeof(buf));
strcpy(buf,%%5);
retval=send(shost,buf,sizeof(buf),0);
if(socket_error==retval)
listenerrun=false;
dword dwexitcode;
::getexitcodethread(pthread->m_hthread,&dwexitcode);
pthread=null;
closesocket(sserver);
closesocket(sclient);
closesocket(shost);
wsacleanup();
c++網路程式設計(socket)我要寫一個伺服器端程式和一個客戶端程式
3樓:
呵呵bai,當讓可以了。du
1、首先我說一下他們的zhi關係:
一個解決dao方案(*.sln)中可以包專含多個專案屬(*.vcxproj);
這些專案可以是互不相關的,也可以是相關的;
2、下面說如何將你的兩個專案放在同一個解決方案裡你將一個的專案(b)拷貝到另外一個專案中(a)(其中資料夾a和b中含有*.vcxproj);
你有a.vcxproj和b.vcxproj兩個專案,他們分別為資料夾a(其中含有a.vcxproj) 和 資料夾b(其中含有b.vcxproj)
解決方案(c.sln)和資料夾a和b在同一目錄下。
然後開啟對應的解決方案,新增專案,將剛才的b專案新增即可;
3、設定啟動專案。
vb編寫關機程式
1全部glngwhichwindows32 mlngwindowsnt是對系統平臺作判斷,是否為nt系統 nt系統下使用adjusttoken獲得許可權驗證 shutdown 使用參shutdown 用法 shutdown i l s r a f m computername t xx c co m...
c語言程式編寫計算表示式C語言程式編寫計算表示式123100的值。
c語言程式編寫 計算表示式 1 2 3 100的值可以參考下面的 include void main 擴充套件 資料 1 for迴圈最簡形式為 for 2 for迴圈一般形式為 for 單次表示式 條件表示式 末尾迴圈體 其中,表示式皆可以省略,但分號不可省略,因為 可以代表一個空語句,省略了之後語...
編寫iPhone程式的前景如何
沒發展,那只是靈光一現 可以預見在未來,手機平臺的軟體開發是一個趨勢。但是iphone沿襲了mac系列的風格,開發封閉而自身的平臺卻問題多多。但是iphone也顯示了一個特點,關閉了花哨的可能出錯的介面,所以iphone上開發,可以做的有意義的事情不錯,娛樂方面的應該比較多一些。其實程式開發只要你喜...