前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网络协议-简易TCP-1.0

网络协议-简易TCP-1.0

原创
作者头像
Wilbur-L
修改2020-12-14 15:12:19
4290
修改2020-12-14 15:12:19
举报
文章被收录于专栏:iOS底层原理iOS底层原理

一·Sever

define WIN32_LEAN_AND_MEAN

include<windows.h>

include<winsock2.h>

pragma comment(lib,"ws2_32.lib")

include<stdio.h>

int main(){

WORD ver=MAKEWORD(2,2);

WSADATA data;

WSAStartup(ver,data);

SOCKET _sock = socke(AF_INET,SOCKET_STREAM,IPPROTO_TCP);

绑定端口

sockaddr_in _sin={};

_sin.sin_family=AF_INET;

_sin.sin_port=hoton(4567);

_sin.sin_addr.Sun.s_addr=inet_addr("IP");

if (SOCKET_ERROR == bind(_sock,(socketaddr *) &sin,sizeof(_sin)));{}

listen(_sock,5);

//接受等待client的连接

sockaddr_in clientAddr={};

int nAddrLen = sizeof(sockaddr_in);

SOCKET _cSocket = INVALID_SOCKET;

char msgBuf[]="Hello";

_cSocket = accept(_sock,(socketAddr *)&clientAddr,&nAddrLen);

printf(inet_ntoa(clientAddr,sin_addr));

发送data

send(_cSocket,msgBuf,strlen(msgBuf)+1,0);

closesocket(_sock);

WSACleanup();

}

二·Client

int main()

{

WORD ver=MAKEWORD(2,2);

WSADATA data;

WSAStartup(ver,&data);

//建立socket

SOCKET _sock = socket(AF_INET,SOCK_STREAM,0);

连接

sockaddr_in _sin={};

_sin.sin_family=AF_INET;

_sin.sin_port=htons(4567);

_sin.sin_addr.Sun.S_addr=inet_addr("IP");

connect(_sock,(sockaddr*)&sin,sizeof(sockaddr_in));

接受data

char recvBuf[256]={};

int nlen = recv(_sock,recvBuf,256,0);

printf(recvBuf);

关闭socket

closesocket(_sock);

WSACleanup();

getchar();

return 0;

}

}

简易TCP
简易TCP

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一·Sever
  • 二·Client
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档