設定置頂:
setwindowpos(&wndtopmost,0,0,0,0, swp_nomove | swp_nosize);
取消置頂:
setwindowpos(&wndnotopmost,0,0,0,0, swp_nomove | swp_nosize);
windows環境下tcp/udp程式設計步驟:1. 基於tcp的socket程式設計是採用的流式套接字。
在這個程式中,將兩個工程新增到乙個工作區。要鏈結乙個ws2_32.lib的庫檔案。
伺服器端程式設計的步驟:
1:載入套接字型檔,建立套接字(wsastartup()/socket());
3:將套接字設定為監聽模式等待連線請求(listen());
4:請求到來後,接受連線請求,返回乙個新的對應於此次連線的套接字(accept());
5:用返回的套接字和客戶端進行通訊(send()/recv());
6:返回,等待另一連線請求;
7:關閉套接字,關閉載入的套接字型檔(closesocket()/wsacleanup())。
伺服器端**如下:
#include #include void main()
if ( lobyte( wsadata.wversion ) != 1 ||
hibyte( wsadata.wversion ) != 1 )
socket socksrv=socket(af_inet,sock_stream,0);
sockaddr_in addrsrv;
addrsrv.sin_addr.s_un.s_addr=htonl(inaddr_any);
addrsrv.sin_family=af_inet;
addrsrv.sin_port=htons(6000);
bind(socksrv,(sockaddr*)&addrsrv,sizeof(sockaddr));
listen(socksrv,5);
sockaddr_in addrclient;
int len=sizeof(sockaddr);
while(1) }
客戶端程式設計的步驟:
1:載入套接字型檔,建立套接字(wsastartup()/socket());
2:向伺服器發出連線請求(connect());
3:和伺服器端進行通訊(send()/recv());
4:關閉套接字,關閉載入的套接字型檔(closesocket()/wsacleanup())。
客戶端的**如下:
#include #include void main()
if ( lobyte( wsadata.wversion ) != 1 ||
hibyte( wsadata.wversion ) != 1 )
socket sockclient=socket(af_inet,sock_stream,0);
sockaddr_in addrsrv;
addrsrv.sin_addr.s_un.s_addr=inet_addr("127.0.0.1");
addrsrv.sin_family=af_inet;
addrsrv.sin_port=htons(6000);
connect(sockclient,(sockaddr*)&addrsrv,sizeof(sockaddr));
char recvbuf[50];
recv(sockclient,recvbuf,50,0);
printf("%s\n",recvbuf);
send(sockclient,"hello",strlen("hello")+1,0);
closesocket(sockclient);
wsacleanup();
} 2.基於udp的socket程式設計是採用的資料報套接字。
在這個程式中,將兩個工程新增到乙個工作區。同時還要鏈結乙個ws2_32.lib的庫檔案。
伺服器端程式設計的步驟:
1:載入套接字型檔,建立套接字(wsastartup()/socket());
3:等待和接收資料(sendto()/recvfrom());
4:關閉套接字,關閉載入的套接字型檔(closesocket()/wsacleanup())。
伺服器端**如下:
#include #include void main()
if ( lobyte( wsadata.wversion ) != 1 ||
hibyte( wsadata.wversion ) != 1 )
socket socksrv=socket(af_inet,sock_dgram,0);
sockaddr_in addrsrv;
addrsrv.sin_addr.s_un.s_addr=htonl(inaddr_any);
addrsrv.sin_family=af_inet;
addrsrv.sin_port=htons(7003);
bind(socksrv,(sockaddr*)&addrsrv,sizeof(sockaddr));
char recvbuf[50];
sockaddr addrclient;
int len=sizeof(sockaddr);
recvfrom(socksrv,recvbuf,50,0,(sockaddr*)&addrclient,&len);
printf("%s\n",recvbuf);
closesocket(socksrv);
wsacleanup();
}對於基於udp的socket客戶端來說,要進行如下步驟:
1:建立乙個套接字(socket);
2:向伺服器傳送資料(sendto);
3:關閉套接字;
**如下:
#include #include void main()
if ( lobyte( wsadata.wversion ) != 2 ||
hibyte( wsadata.wversion ) != 2 )
socket sockclient=socket(af_inet,sock_dgram,0);
sockaddr_in addrclient;
addrclient.sin_addr.s_un.s_addr=inet_addr("127.0.0.1");
addrclient.sin_family=af_inet;
addrclient.sin_port=htons(8889);
sockaddr_in addrsrv;
sendto(sockclient,"hi",3,0,(sockaddr*)&addrclient,sizeof(sockaddr));
}linux環境下tcp/udp程式設計步驟:
tcp程式設計步驟:
一. 服務端:
1.socket(int domain,int type,int protocol):建立套接字;
3.listen(int sockid,int qsize):監聽某套接字;
4.fd=accept(int sockid,struct sockaddr *callerid,socklen_t *addrlenp):等待某套接字接收資訊;
5.recv(int fd,void *buf,size_t nbytes,int flags):從套接字接收資料;
6.close(fd) 和close(sockid)
二.客戶端:
1. socket():建立套接字;
2.connect(int sockid,struct sockaddr *serv_addrp,socklen_t addrlen):連線到伺服器;
3. send(int sockfd,const void *buf,size_t nbytes,int flags):傳送資料到伺服器.
4. close(sockid);
udp程式設計步驟:
一,服務端:
1. socket():同上;
2. bind():同上;
3. recvfrom(int sockfd,void*buff,size_t nbytes,int flags,struct sockaddr*from,socklen_t*addrlen):在套接字口接收資料,並且記錄下接收到的資料**;一定要注意這裡的引數addrlen,它不僅是函式的輸出,也是函式的輸入!所以要在呼叫該函式之前對addrlen賦值sizeof(struct sockaddr)。否則返回的位址from將會出錯!
4. close(sockfd);
二. 客戶端:
1. socket();同上;
2. sendto(int sockfd,const void*buff,size_t nbytes,int flags,const struct sockaddr*to,socklen_t addrlen):往指定的位址傳送資料;
3. close(sockfd);
Oracle開發小集錦(不斷更新)
其中部分是 其它地方。select user from dual 檢視當前連線的使用者名稱 ora 24338 未執行語句控制代碼 這個問題主要出現在使用資料庫游標的時候。當執行儲存過程,返回的游標沒有開啟時,就會報這個錯。open cur user for select from sy users...
windows效能監視功能
這篇主要說說windows系統自帶的效能監視功能 performancecouonter.開啟管理工具 效能,我們可以立即看到伺服器的cpu,程序執行時間,磁碟容量等效能引數走勢圖。然而不僅僅是這幾項,我們可以通過新增技術器來檢視其他的效能指標 如果你說,這麼看太麻煩了,ok,我們通過c 將這些值取...
呼叫Windows系統功能
彈出對話方塊 首先呼叫windows.h這個標頭檔案 include 接下來我們呼叫 messagebox messagebox 0,你好,helloworld 0 第乙個引數設定為0,第乙個引數是依賴的視窗的編號,相當於誰彈出的視窗,0為系統彈出,第二個引數是對話方塊的內容,第三個引數是對話方塊的...