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