Windows网络编程学习笔记(4) 编写一个TCP客户端
来源:互联网 发布:淘宝喵喵通信 编辑:程序博客网 时间:2024/04/26 04:19
Socket TCP/IP 客户端编程
分为3个步骤:1.socket()/WSASocket() //创建一个客户端socket
2.Address resolution //指定服务端地址
3.connect()/WSAConnet() //与服务端建立连接
1.socket()/WSASocket() //创建一个客户端socket
SOCKET ClientSocket;
ClientSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
创建失败返回INVALID_SOCKET
2.Address resolution //指定服务端地址
SOCKADDR_IN ServerAddr; //服务器地址
ServerAddr.sin_family=AF_INET; //填充 SOCKADDR_IN 数据结构
ServerAddr.sin_port=htons(port);
ServerAddr.sin_addr.s_addr=inet_addr("127.0.0.1");
3.connect()/WSAConnet() //与服务端建立连接
connect(SOCKET s,const struct sockaddr FAR * name,int namelen);
连接失败返回INVALID_SOCKET
现在你已经可以写一个完整的Socket TCP/IP 客户端了,代码如下:
#include <Winsock2.h>#include <iostream>#define PORT 5000using namespace std;int main(void){WSADATA wsaData; //Winsock数据结构SOCKET ClientSocket; //客户端socketSOCKADDR_IN ServerAddr; //服务器地址int port=PORT; //端口号WSAStartup(MAKEWORD(2,2),&wsaData); //初始化 Winsock 2.2 版本ClientSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); //创建客户端socketServerAddr.sin_family=AF_INET; //填充 SOCKADDR_IN 数据结构ServerAddr.sin_port=htons(port);ServerAddr.sin_addr.s_addr=inet_addr("127.0.0.1");connect(ClientSocket,(SOCKADDR*)&ServerAddr,sizeof(ServerAddr));closesocket(ClientSocket); //关闭socket WSACleanup(); //关闭Winsock return 0;}
下一章将详解send()/WSASend() 、 recv()/WSARecv() 和 函数,然后就可以编写一个可运行的通讯程序了。
3 0
- Windows网络编程学习笔记(4) 编写一个TCP客户端
- Windows网络编程学习笔记(3) 编写一个TCP服务端
- 网络编程笔记<4> 客户端 TCP IOCP
- Windows网络编程学习笔记(5) TCP服务端向客户端发送Hello World!
- Windows网络编程学习笔记(1) 编写一个Winsock基本框架
- linux下编写tcp客户端学习笔记
- 网络编程笔记(2)---TCP 服务器与客户端编写流程
- 网络编程---TCP客户端
- TCP客户端应用程序编程学习笔记
- Unix网络编程学习笔记之第5章 TCP客户端/服务器程序示例
- 网络编程学习笔记(三)TCP协议及客户端与服务端交互Demo
- Java网络编程学习笔记(1)用java编写客户端/服务器程序(简易)
- java 网络编程 tcp黑马程序员学习笔记(4)
- JavaSE学习笔记--网络编程之TCP
- 学习笔记七之网络编程(TCP)
- 学习笔记七之网络编程(TCP)
- Linux-网络编程学习笔记之tcp
- TCP/IP网络编程学习笔记
- 分布式环境Session处理方法
- 1090. Highest Price in Supply Chain (25)【树】——PAT (Advanced Level) Practise
- int与Integer的区别
- php &$
- bestcoder百度之星2016AK 1001&1002&1003&1004 题解
- Windows网络编程学习笔记(4) 编写一个TCP客户端
- HYSBZ 1036树的统计Count 树链剖分
- PHP中的可变参数函数和可选参数函数
- 1091. Acute Stroke (30)【搜索】——PAT (Advanced Level) Practise
- 警察与厨师
- 使用hexo搭建博客并上传GitHub
- 1092. To Buy or Not to Buy (20)【水题】——PAT (Advanced Level) Practise
- C++_FatMouse' Trade(贪心)
- 使用.NET Framework提供的InstallUtil.exe安装Windows服务安装时遇到的2种常见错误