#define _WINSOCK_DEPRECATED_NO_WARNINGS
#include <WinSock2.h>
#include <windows.h>
#include <iostream>
#pragma comment(lib,"ws2_32")
using namespace std;
int main(int argc, char* argv[])
{
//init socket
WSADATA stData = { 0 };
WORD dVer = MAKEWORD(2, 2);
if(WSAStartup(dVer, &stData))
{
cout << "init fail" << endl;
return -1;
}
SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (sock == INVALID_SOCKET)
{
cout << "socket fail" << endl;
return -1;
}
sockaddr_in stAddr = { 0 };
stAddr.sin_family = AF_INET;
stAddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
stAddr.sin_port = htons(9999);
if (connect(sock,(sockaddr*)&stAddr,sizeof(sockaddr_in))==SOCKET_ERROR)
{
cout << "connect fail" << endl;
return -1;
}
char szBuf[1024] = { 0 };
int nSend = NULL;
while (1)
{
cout << "please input send data" << endl;
cin.getline(szBuf,1024);
nSend = send(sock, szBuf, 1024, NULL);
if(!nSend || nSend==SOCKET_ERROR)
break;
}
//clear socket
WSACleanup();
closesocket(sock);
system("pause");
return 0;
}
连接服务器:
发送数据:
关闭连接: