📄 sotestclient.cpp
字号:
#include "stdio.h"
#include "afxmt.h"
#include "winsock2.h"
#pragma comment(lib,"WS2_32.LIB")
class mclient{
private:
SOCKET sock;
sockaddr_in saddr;
int len;
char buf[4096];
public:
mclient(){
sock=socket(AF_INET,SOCK_STREAM,0);
len=sizeof(saddr);
}
bool mconnect(char* addr,int port){
saddr.sin_family=AF_INET;
saddr.sin_port=htons(port);
saddr.sin_addr.s_addr=inet_addr(addr);
if(connect(sock,(struct sockaddr*)&saddr,len)==SOCKET_ERROR){
printf("connect fail : %d",WSAGetLastError());
return false;
}
return true;
}
void close(){
closesocket(sock);
}
void msend(char* mes){
send(sock,mes,strlen(mes),0);
}
bool receive(){
memset(buf,0,4096);
if(recv(sock,buf,4096,0)==SOCKET_ERROR){
return false;
}
else{
printf("received from server : %s\n",buf);
return true;
}
}
};
int main()
{
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,1),&wsaData)){
printf("Winsock initializing fail\n");
WSACleanup();
return 0;
}
mclient a;
if(!a.mconnect("192.168.1.100",12345)){
return 0;
}
char buf[1024];
while(scanf("%s",buf)){
if(strcmp(buf,"quit")==0){
break;
}
a.msend(buf);
a.receive();
}
a.close();
WSACleanup();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -