socket---TCP服务器界面



代码如下,操作在后

#include "resource1.h"

#include<winsock2.h>
#pragma comment(lib,"ws2_32.lib")




#define DEFAULT_iPort 5000


LRESULT CALLBACK DialProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);












int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, LPSTR lpCmdLine, int nCmdShow)
{
DialogBox(hInstance,(LPCSTR)IDD_FORMVIEW, NULL,(DLGPROC)DialProc);


return 0;
}
LRESULT CALLBACK DialProc(HWND hDIg, UINT uID, WPARAM wParam, LPARAM lParam)
{            


char ip[16];
char port[5];//端口号
char recvBuf[1000];//缓存区大小
char sendBuf[1000];
SOCKET sListen, sAccept;
SOCKADDR_IN ser, cli;
int iLen = sizeof(cli);
sListen = socket(AF_INET, SOCK_STREAM,0);
sAccept= socket(AF_INET, SOCK_STREAM,0);


switch (uID)
{
case WM_COMMAND://对话框消息
switch(wParam)
{
case IDC_IPSTART:
{
   GetDlgItemText(hDIg, IDC_IP,ip, 16);
GetDlgItemText(hDIg, IDC_PORT,port, 16);


ser.sin_family = AF_INET;
ser.sin_addr.s_addr = inet_addr(ip);
ser.sin_port = htons(atoi(port));
bind(sListen, (sockaddr *)&ser, sizeof(ser));
listen(sListen, 5);
sAccept = accept(sListen, (sockaddr *)&cli, &iLen);
if (INVALID_SOCKET == sAccept)
{
SetDlgItemText(hDIg, IDC_EDIT1, "服务器创建失败");
}
else {
SetDlgItemText(hDIg, IDC_RECVBUF, "服务器创建成功");
}
}
break;
case IDC_RECVBUF:
if (INVALID_SOCKET == sAccept)
{


}
else
{
recv(sAccept, recvBuf, sizeof(recvBuf), 1000);
SetDlgItemText(hDIg, IDC_RECVBUF, recvBuf);
}
break;
case IDC_SENDBUF:
GetDlgItemText(hDIg, IDC_SENDBUF, sendBuf, 1000);
send(sAccept, sendBuf, sizeof(recvBuf), 1000);
SetDlgItemText(hDIg, IDC_SENDBUF, "");
break;
case IDC_STOP://关闭窗口
 {
closesocket(sAccept);
  closesocket(sListen);
  WSACleanup();
EndDialog(hDIg,wParam);
  }
break;


}
break;
default:
break;
}




return DefWindowProc(hDIg, uID, wParam, lParam);//让系统自动处理一些默认消息

一.

}




资源文件->添加->添加资源->找到如下图所示,新建



二.


把这个字删除,点属性,找到这一个风格把Child换成Overlapped或者Popup都可以(版本不同可能问题不一样)


然后往这个大界面上加东西,打开工具箱




选择你想要的,然后创建界面

根据你创建的ID写代码。


例如

我的示例边框ID 是IDC_EDIT1,

代码这样写:

然后创建失败就会在这个边框出现消息


至于代码中的函数会用就行

猜你喜欢

转载自blog.csdn.net/qq_41603898/article/details/81051151