⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tcpclient.cpp

📁 WinSocket各种阻塞非阻塞模式的简单例子都已通过调试适合网络编程初学者
💻 CPP
字号:
#include "../comm/initsock.h"
#include <stdio.h>
#include <conio.h>

CInitSock initSock;

int main()
{
	//输入服务器IP地址
	char ip[20] = {0};
	printf( " 请输入服务器IP地址(127.0.0.1):");
	scanf("%s", &ip);
	printf("\n");
	//创建套接字
	SOCKET s = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
	if (s == INVALID_SOCKET)
	{
		printf("Failed socket()\n");
		getch();
		return 0;
	}

	//填写远程地址信息
	sockaddr_in servAddr;
	servAddr.sin_family = AF_INET;
	servAddr.sin_port = htons(4567);
	servAddr.sin_addr.S_un.S_addr = inet_addr(ip);
	if (::connect(s, (SOCKADDR*)&servAddr, sizeof(servAddr)) == -1)
	{
		printf("Failed connect()\n");
		getch();
		return 0;
	}

	//接受数据
/*	char buff[256] = {0};
	int nRecv = ::recv(s, buff, 256, 0);
	if (nRecv >0)
	{
		buff[nRecv] = '\0';
		printf(" 接收到数据:%s", buff);
	}
*/
	char buf[256] = "Hello";
	int len = strlen(buf);
	::send(s, buf, len, 0);

	char buff[256] = {0};
	int nRecv = ::recv(s, buff, 256, 0);
	if (nRecv >0)
	{
		buff[nRecv] = '\0';
		printf(" 接收到数据:%s\n", buff);
	}
	
	getch();
	//关闭套接字
	::closesocket(s);
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -