client.cpp


#include <stdio.h>

#include <winsock2.h>

#pragma comment (lib,"ws2_32")



//流程

//WSAStarup socket connect recv/send closesocket WSACleanup

int main(int argc,char* argv[])

{

     WSADATA wsaData;

     WSAStartup(MAKEWORD(2,2),&wsaData);



     SOCKET s = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);



     sockaddr_in addr;

     addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");

     addr.sin_family = PF_INET;

     addr.sin_port = htons(827);



     connect(s,(SOCKADDR*)&addr,sizeof(SOCKADDR));



     char szBuffer[MAXBYTE] = {0};

     recv(s,szBuffer,MAXBYTE,NULL);



     printf("szBuffer = %s \r\n",szBuffer);



     closesocket(s);



     WSACleanup();



     return 0;

}

Server.cpp



//WSAStartup socket bind listen accept send/recv closesocket WSACleanup

#include <winsock2.h>

#pragma comment (lib,"ws2_32")



int main(int argc , char* grgv[])

{

     WSADATA wsaData;

     WSAStartup(MAKEWORD(2,2),&wsaData);



     SOCKET s = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);



     sockaddr_in addr;

     addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");

     addr.sin_port = htons(827);

     addr.sin_family = PF_INET;



     bind(s,(SOCKADDR*)&addr,sizeof(SOCKADDR));



     listen(s,1);



     SOCKADDR clientAddr;

     int nSize = sizeof(SOCKADDR);

     SOCKET clientSock;



     clientSock = accept(s,(SOCKADDR*)&clientAddr,&nSize);



     send(clientSock,"hello client \r\n",strlen("hello client \r\n" + sizeof(char)),NULL);



     closesocket(clientSock);

     closesocket(s);



     WSACleanup();

     return 0;

}

TCP HelloWord的更多相关文章

  1. python笔记8 socket(TCP) subprocess模块 粘包现象 struct模块 基于UDP的套接字协议

    socket 基于tcp协议socket 服务端 import socket phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 买 ...

  2. Tcp/ip 报文解析

    在编写网络程序时,常使用TCP协议.那么一个tcp包到底由哪些东西构成的呢?其实一个TCP包,首先需要通过IP协议承载,而IP报文,又需要通过以太网传送.下面我们来看看几种协议头的构成 一 .Ethe ...

  3. C#高性能TCP服务的多种实现方式

    哎~~ 想想大部分园友应该对 "高性能" 字样更感兴趣,为了吸引眼球所以标题中一定要突出,其实我更喜欢的标题是<猴赛雷,C#编写TCP服务的花样姿势!>. 本篇文章的主 ...

  4. Android实现TCP断点上传,后台C#服务实现接收

    终端实现大文件上传一直都是比较难的技术,其中涉及到后端与前端的交互,稳定性和流量大小,而且实现原理每个人都有自己的想法,后端主流用的比较多的是Http来实现,因为大多实现过断点下载.但稳定性不能保证, ...

  5. 漫谈TCP

    不得不承认,tcp是一个非常复杂的协议.它包含了RFC793及之后的一些协议.能把tcp的所有方面面面具到地说清楚,本身就是个很复杂的事情.如果再讲得枯燥,那么就会更让人昏昏欲睡了.本文希望能尽量用稍 ...

  6. 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.1.1

    HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...

  7. TCP/IP基础

    TCP/IP 是用于因特网 (Internet) 的通信协议. 计算机通信协议是对那些计算机必须遵守以便彼此通信的规则的描述. 什么是 TCP/IP? TCP/IP 是供已连接因特网的计算机进行通信的 ...

  8. TCP/IP之TCP_NODELAY与TCP_CORK

    TCP/IP之Nagle算法与40ms延迟提到了Nagle 算法.这样虽然提高了网络吞吐量,但是实时性却降低了,在一些交互性很强的应用程序来说是不允许的,使用TCP_NODELAY选项可以禁止Nagl ...

  9. TCP/IP之Nagle算法与40ms延迟

    Nagle算法是针对网络上存在的微小分组可能会在广域网上造成拥塞而设计的.该算法要求一个TCP连接上最多只能有一个未被确认的未完成的小分组,在该分组确认到达之前不能发送其他的小分组.同时,TCP收集这 ...

随机推荐

  1. 【Mood-20】滴滤咖啡做法 IT工程师加班必备 更健康的coffee 项目经理加班密鉴

    Drip Coffee

  2. makefile文件的技术

    [快速的学习笔记] gcc命令:http://www.cnblogs.com/ggjucheng/archive/2011/12/14/2287738.html#_Toc311642845 makef ...

  3. Myeclipse集成Jboss 6.1控制台不输出日志信息

    在使用myeclipse+jboss 6.1开发的时候发现jboss能够正常启动但是myeclipse的控制台却没有任何的信息输出,这使得我没有办法开发,在查找了大部分的资料发现很多说要改什么jbos ...

  4. HTML常见标签

    标题:h1.h2.h3.h4.h5.... 段落:p 换行:br 容器:div.span(用来容纳其他标签) 表格:table.tr.td 列表:ul.ol.li 图片:img 表单:input 链接 ...

  5. 使用Jeditable插件时遇到的问题

    Jeditable在渲染页面已有DIV=>form的时候 首先使用 $("div").html(); 去获取原DIV中的内容. 这样导致一个问题, 如果原div中带有html ...

  6. 基于AE连通性分析

    曾经做管线连通性分析,总觉得ARCGIS应该有现成的方案可以实现,但最终没有找到,后来只好自己写了套代码,但在搜索过程中找到了这样一估代码,当时留了下来,那我现在也把它留下来. Dim pLayer ...

  7. LinearLayout和RelativeLayout

    LinearLayout和RelativeLayout 共有属性:java代码中通过btn1关联次控件android:id="@+id/btn1" 控件宽度android:layo ...

  8. Swiper之初识

    何为Swiper?Swiper是一款免费以及轻量级的移动设备触控滑块的框架,使用硬件加速过渡(如果该设备支持的话).主要使用与移动端的网站.网页应用程序(web apps),以及原生的应用程序(nat ...

  9. 英特尔实感SDK 代码示例

    原文地址 摘要 本套代码示例针对巴西英特尔实感动手实验室创建,旨在帮助参与人员了解如何使用英特尔® 实感™ 软件开发套件. 12 个示例使用 C# SDK 包装程序,提供了简单的基于控制台的应用,支持 ...

  10. js如何检测打开窗口是否存在的三个方法?

    js打开窗口一般也就是使用window.open方法: win = window.open(CHILD_WINDOW_URL, CHILD_WINDOW_NAME, CHILD_WINDOW_ATTR ...