📄 client.cpp
字号:
// Client.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "winsock2.h"
#include "stdio.h"
int _tmain(int argc, _TCHAR* argv[])
{
int port = 5150;
char dataSendBuf[5] = {'a', 'b', 'c', 'd', 'e'};
char datdReceiveBuf[20];
int sendFlag;
char receiveFlag;
WSADATA wsaData;
SOCKET socketClient;
SOCKADDR_IN serverAddr;
//initialize the Windows Socket 2.2
if(WSAStartup(MAKEWORD(2,2), &wsaData) != 0)
{
perror("Cannot initialize the Windows Socket 2.2 !");
exit(1);
}
//create a socket to listen the ask of the client
socketClient = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(socketClient == INVALID_SOCKET)
{
printf("Socket failed with error %d \n", WSAGetLastError());
WSACleanup();
exit(1);
}
//fill in the address information of the Server
serverAddr.sin_family = AF_INET;
serverAddr.sin_port = htons(port);
serverAddr.sin_addr.s_addr = inet_addr("192.168.2.107");
/*memset(dataBuf, 8, sizeof(dataBuf));*/
if( connect(socketClient, (SOCKADDR *)&serverAddr, sizeof(serverAddr)) == SOCKET_ERROR)
{
printf("Can not connect the server %d \n", WSAGetLastError());
closesocket(socketClient);
WSACleanup();
exit(1);
}
else
{
printf("connect successfully !");
}
unsigned char tempChar;
while(1)
{
printf("Please press the Enter key!\n");
scanf("%c", &tempChar);
sendFlag = send(socketClient, dataSendBuf, (int)sizeof(dataSendBuf), 0);
if(sendFlag == INVALID_SOCKET)
{
printf("send error!");
break;
}
//接收数据
receiveFlag = recv(socketClient, datdReceiveBuf, sizeof(datdReceiveBuf), 0);
if(receiveFlag < 0)
{//接收不正常
printf("break\n");
break;
}
else if(receiveFlag == 0)
{//连接断开
printf("Ending connection\n");
}
else
{//接收完成
//打印接收到的数据
printf("the data come from server are these:\n");
int i;
for(i = 0; i < (receiveFlag - 1); i++)
{
printf("%c-", datdReceiveBuf[i]);
}
printf("%c", datdReceiveBuf[i]);
printf("\n");
}
}
closesocket(socketClient);
WSACleanup();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -