📄 microwin.txt
字号:
服务器端:
先创建一个socket_serv;使用非阻塞方式
#include <fcntl.h>
socket_serv= socket(AF_INET,SOCK_STREAM,0);
fcntl(socket_serv,F_SETFL,O_NONBLOCK);
bind(socket_serv);
listen(socket_serv);
int client_sock[SIZE];
MwRegisterFdInput(HWND hwnd, int socket_serv);//把listen的socket加入输入队列中
MESSAGE循环
{case:WM_FDINPUT //有输入信息
switch (wParam):
case socket_serv://有新连接
if client_sock[i]!=0
client_sock[i]=accept();//建立新连接
MwRegisterFdInput(HWND hwnd, int client_sock[i]);//把新连接加入消息队列,这样如果有数据达到,同样有WM_FDINPUT消息
MwRegisterFdExcept(HWND hwnd, intclient_sock[i]);//加入连接中断消息
case clinet_sock[i]://如果是已建立的连接,则说明有数据到达
recv(clinet_sock[i],buf,len);//接收数据
...处理
case:WM_FDEXCEPT
switch (wParam):
case:client_sock[i]
MwUnRegisterFdInput(HWND hwnd, int client_sock[i]);//从消息队列中删除
MwUnRegisterFdExcept(HWND hwnd, int client_sock[i]);//
client_sock[i]=0;
}
Client端基本相同
socket_client= socket(AF_INET,SOCK_STREAM,0);
connect(socket_client);
MwRegisterFdInput(HWND hwnd, int scoket_client)
case:WM_FDINPUT
recv();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -