MFC用簡單對話框就可以,跪求帖出代碼
PS:有點伸手黨不好意思。。。自己實在弄不出來了,急急急
#include <stdio.h>
#include <winsock2.h>
#include <tchar.h>
#include <time.h>//客戶端獨有頭檔案
#pragma comment(lib,"ws2_32.lib")
//服務器端————————————————————————
int _tmain(int argc, _TCHAR* argv[]){
WSADATA wsa;
WSAStartup(MAKEWORD(2,2),&wsa);
struct sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr("192.168.0.106");
addr.sin_port = htons(7000);
int len = sizeof(addr);
struct sockaddr_in addr_server;
addr_server.sin_family = AF_INET;
addr_server.sin_port = htons(8000);
addr_server.sin_addr.s_addr = inet_addr("192.168.0.106");
SOCKET serversocket = socket(AF_INET,SOCK_DGRAM,0);
bind(serversocket,(struct sockaddr*)&addr_server,sizeof(addr_server));
struct sockaddr_in addr_from;
int fromlen = sizeof(addr_from);
while(1){
char frombuff[1024] = "\0";
printf("等待客戶端輸入資訊!");
if(recvfrom(serversocket,frombuff,sizeof(frombuff),0,(struct sockaddr*)&addr_from,&fromlen) == SOCKET_ERROR){
printf("服務端接受有錯誤!!");
}
printf("客戶端輸入的是:%s\n",frombuff);
//Sleep(5000);
if(sendto(serversocket,frombuff,sizeof(frombuff),0,(struct sockaddr*)&addr,fromlen) == SOCKET_ERROR){
printf("服務端發送錯誤!!");
}
}
closesocket(serversocket);
WSACleanup();
return 0;
}
//客戶端————————————————————————
int main(void)
{
WSADATA wsa;
WSAStartup(MAKEWORD(2,2),&wsa);
SOCKET mySocket;
mySocket = socket(AF_INET,SOCK_DGRAM,0);
struct sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr("192.168.0.106");
addr.sin_port = htons(8000);
int len = sizeof(addr);
struct sockaddr_in addr_client;
addr_client.sin_family = AF_INET;
addr_client.sin_port = htons(7000);
addr_client.sin_addr.s_addr = inet_addr("192.168.0.106");
SOCKET clientsocket = socket(AF_INET,SOCK_DGRAM,0);
bind(clientsocket,(struct sockaddr*)&addr_client,sizeof(addr_client));
while(1){
printf("請輸入一段字串用戶測驗延遲:");
char buff[1024] = "\0";
scanf("%s",buff);
LARGE_INTEGER t1,t2,feq;
QueryPerformanceFrequency(&feq);//每秒跳動次數
if(sendto(clientsocket,buff,sizeof(buff),0,(struct sockaddr *)&addr,len) == SOCKET_ERROR) {
printf("發送錯誤!!!");
}
QueryPerformanceCounter(&t1);//測前跳動次數
if(recvfrom(clientsocket,buff,sizeof(buff),0,(struct sockaddr*)&addr,&len) == SOCKET_ERROR) {
printf("接受錯誤!!!");
}
QueryPerformanceCounter(&t2);//測后跳動次數
printf("從服務端回傳:%s\n",buff);
printf("--->>時間延遲:%f秒\n",((double)t2.QuadPart-(double)t1.QuadPart)/((double)feq.QuadPart));
}
closesocket(mySocket);
WSACleanup();
return 0;
}
uj5u.com熱心網友回復:

代碼沒有任何問題,直接復制就可以用
uj5u.com熱心網友回復:
你IP輸對了么,用127.0.0.1試
uj5u.com熱心網友回復:
1.新建MFC工程,向導里面包含window socket支持2.添加一個button,button下開個執行緒。
3.在執行緒里面放上代碼。printf改成afxmessagebox顯示下。
uj5u.com熱心網友回復:
這是MFC最基本知識了吧,建議樓主還是先把MFC的運行流程搞清楚,不然這樣幫你也是害你uj5u.com熱心網友回復:
網路上有現成的例子,自己讀代碼
uj5u.com熱心網友回復:
我把代碼放進執行的BUTTON那部分代碼里錯誤很多,互相沖突,怎么改都不行,被搞暈了,本人MFC小白。。。。uj5u.com熱心網友回復:
改是改不出來的,自己寫吧uj5u.com熱心網友回復:
百度搜相關關鍵字。uj5u.com熱心網友回復:
頭檔案放在XXXDlg.h按鈕函式放在雙擊BUTTON后跳轉的地方
本人也是剛學MFC,希望對樓主有幫助
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/72247.html
標籤:基礎類
