//服务器

// winsvr.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <winsock2.h>
#include <conio.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib") void TCTServer()
{
SOCKET socksvr = socket(AF_INET, SOCK_STREAM,
IPPROTO_TCP);
if(INVALID_SOCKET == socksvr) {
return;
}
struct sockaddr_in svraddr = {};
svraddr.sin_family = AF_INET;
svraddr.sin_port = htons();
svraddr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
bind(socksvr, (struct sockaddr*)&svraddr,
sizeof(svraddr));
listen(socksvr, SOMAXCONN);
struct sockaddr_in clientaddr = {};
int nLen = sizeof(clientaddr);
SOCKET sockclient =
accept(socksvr, (struct sockaddr*)&clientaddr, &nLen); char szText[] = {};
recv(sockclient, szText, , );
printf("%s\n", szText);
char szSend[] = "Hello Client";
send(sockclient, szSend, sizeof(szSend), );
getch();
closesocket(sockclient);
closesocket(socksvr); } int main(int argc, char* argv[]) { WSADATA wsa = {};
WSAStartup(MAKEWORD(,), &wsa); TCTServer(); return ;
}

//客户端

// wincli.cpp : Defines the entry point for the console application.
// #include "stdafx.h"
#include <winsock2.h>
#include <conio.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib") void TCPClient()
{
SOCKET sockclient =
socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(INVALID_SOCKET == sockclient) {
return;
}
struct sockaddr_in addr = {};
addr.sin_family = AF_INET;
addr.sin_port = htons();
addr.sin_addr.S_un.S_addr =
inet_addr("127.0.0.1");
//连接到服务器
connect(sockclient, (struct sockaddr*)&addr, sizeof(addr));
char szSend[] = "Hello Server";
send(sockclient, szSend, sizeof(szSend), );
char szText[] = {};
recv(sockclient, szText, , );
printf("%s\n", szText);
getch();
closesocket(sockclient); }
int main(int argc, char* argv[])
{
WSADATA wsa = {};
WSAStartup(MAKEWORD(,), &wsa);
TCPClient();
return ;
}

windows socket的更多相关文章

  1. 高性能 Windows Socket 组件 HP-Socket v3.0.2 正式发布

    HP-Socket 是一套通用的高性能 Windows Socket 组件包,包含服务端组件(IOCP 模型)和客户端组件(Event Select 模型),广泛适用于 Windows 平台的 TCP ...

  2. 高性能 Windows Socket 组件 HP-Socket v3.0.1 正式发布

    HP-Socket 是一套通用的高性能 Windows Socket 组件包,包含服务端组件(IOCP 模型)和客户端组件(Event Select 模型),广泛适用于 Windows 平台的 TCP ...

  3. 高性能 Windows Socket 组件 HP-Socket v2.3.1-beta-2 发布

    HP-Socket 是一套通用的高性能 Windows Socket 组件包,包含服务端组件(IOCP 模型)和客户端组件(Event Select 模型),广泛适用于 Windows 平台的 TCP ...

  4. 高性能 Windows Socket 组件 HP-Socket v2.3.1-beta-1 发布

    HP-Socket 是一套通用的高性能 Windows Socket 组件包,包含服务端组件(IOCP 模型)和客户端组件(Event Select 模型),广泛适用于 Windows 平台的 TCP ...

  5. 高性能 Windows Socket 组件 HP-Socket v2.2.3 正式发布

    HP-Socket 是一套通用的高性能 Windows Socket 组件包,包含服务端组件(IOCP 模型)和客户端组件(Event Select 模型),广泛适用于 Windows 平台的 TCP ...

  6. 通用高性能 Windows Socket 组件 HP-Socket v2.2.2 正式发布

    HP-Socket 是一套通用的高性能 Windows Socket 组件包,包含服务端组件(IOCP 模型)和客户端组件(Event Select 模型),广泛适用于 Windows 平台的 TCP ...

  7. linux tcp/ip编程和windows tcp/ip编程差别以及windows socket编程详解

    最近要涉及对接现有应用visual c++开发的tcp客户端,花时间了解了下windows下tcp开发和linux的差别,从开发的角度而言,最大的差别是头文件(早期为了推广尽可能兼容,后面越来越扩展, ...

  8. 转:Windows Socket五种I/O模型

    原文转自:  Windows Socket五种I/O模型 Winsock 的I/O操作: 1. 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序.套接字 默认为阻塞模 ...

  9. 【windows socket+TCPserverclient】

    Windows Socket+TCPserverclient      Winsock是 Windows下套接字标准.          Socket套接字基于计算机网络,提供同一系统上不同进程或由局 ...

  10. Windows Socket五种I/O模型

    转载:http://www.cnblogs.com/tianzhiliang/archive/2010/08/31/1813637.html 如果你想在Windows平台上构建服务器应用,那么I/O模 ...

随机推荐

  1. python核心编程学习记录之执行环境

  2. 写Python脚本语言时,“SyntaxError: Non-ASCII character '\xe6' in file”错误的处理

    如图是一段简单的文件操作代码,以为打开文件"test1221_1.py",若不存在此文件,则创建此文件.接下来并输出相关信息. 当少写了黄色方框圈起来的一行看似不经意的带有编码格式 ...

  3. 闲鱼demo

    编程是一种美德,是促使一个人不断向上发展的一种原动力 -----–以下是正文------- 最近好多app的底部标签导航使用以下形式了,所以我们就来学习一下它是如何实现的. 先看效果: 中间的&quo ...

  4. [OSG]矩阵运算

    我们都知道,OpenGL规定矩阵使用列主序存储,即glLoadMatrix等函数要求输入的数组是按列主序存储的矩阵.然而,一个很奇怪的事实是,OSG中矩阵存储是使用的标准C二维数组(行主序),并且也是 ...

  5. CSS样式基础二

    一.列表 主要分为有序列表ol,无序列表ul <ul> <li></li> ... </ul> <ol> <li></li ...

  6. iOS中如何隐藏启动图片的状态栏

    只隐藏启动图片顶部的状态栏,而不影响程序运行起来控制器的状态栏显示?在info.plist文件中添加一个Statis bar is...... 默认是NO改为YES即可

  7. Netsuite > Hierarchy of transactions in Inventory cost calculation

    First in day worksheets + Purchase Transactions (Receipts, Bills, Adjustments, Assembly Builds) + Tr ...

  8. 对json数据的遍历

    json格式变化多样,可嵌套好几层,这里只记录了一些遍历方法,具体数据格式具体分析~ "data1": { "key1": [ {"name" ...

  9. 根据osdid 查询磁盘是ssd盘还是sas盘

    前置条件: 1.安装LSI的Megacli软件包 Megacli64 2.安装scsi设备的查询工具lsscsi apt-get install lsscsi   步骤: 1.根据osdid 查找 盘 ...

  10. build/envsetup.sh 生成的命令详解表

    参考: https://wiki.cyanogenmod.org/w/Envsetup_help 它是一个.sh文件,用source后就生成android编译相关函数,具体如下. 速查 Invokin ...