VC++ Socket编程 简单的Tcp/ip客户端
2009-12-20 01:59
1011 查看
#include <windows.h>
#include <iostream.h>
#include <winsock.h>
#define NO_FLAGS_SET 0
#define PORT (u_short) 44965
#define DEST_IP_ADDR "192.168.10.158" //Server address
INT main(VOID)
{
WSADATA Data;
SOCKADDR_IN destSockAddr;
SOCKET destSocket;
unsigned long destAddr;
int status;
int numsnt;
char *toSendtxt="Test String";
/* initialize the Windows Socket DLL */
status=WSAStartup(MAKEWORD(1, 1), &Data);
if (status != 0)
cerr << "ERROR: WSAStartup unsuccessful"
<< endl;
/* convert IP address into in_addr form */
destAddr=inet_addr(DEST_IP_ADDR);
/* copy destAddr into sockaddr_in structure */
memcpy(&destSockAddr.sin_addr,
&destAddr, sizeof(destAddr));
/* specify the port portion of the address */
destSockAddr.sin_port=htons(PORT);
/* specify the address family as Internet */
destSockAddr.sin_family=AF_INET;
/* create a socket */
destSocket=socket(AF_INET, SOCK_STREAM, 0);
if (destSocket == INVALID_SOCKET)
{
cerr << "ERROR: socket unsuccessful" << endl;
status=WSACleanup();
if (status == SOCKET_ERROR)
cerr << "ERROR: WSACleanup unsuccessful"
<< endl;
return(1);
}
cout << "Trying to connect to IP Address: "
<< DEST_IP_ADDR << endl;
/* connect to the server */
status=connect(destSocket,
(LPSOCKADDR) &destSockAddr,
sizeof(destSockAddr));
if (status == SOCKET_ERROR)
{
cerr << "ERROR: connect unsuccessful" << endl;
status=closesocket(destSocket);
if (status == SOCKET_ERROR)
cerr << "ERROR: closesocket unsuccessful"
<< endl;
status=WSACleanup();
if (status == SOCKET_ERROR)
cerr << "ERROR: WSACleanup unsuccessful"
<< endl;
return(1);
}
cout << "Connected..." << endl;
while(1)
{
cout << "Sending..." << endl;
numsnt=send(destSocket, toSendtxt,
strlen(toSendtxt) + 1, NO_FLAGS_SET);
if (numsnt != (int)strlen(toSendtxt) + 1)
{
cout << "Connection terminated" << endl;
status=closesocket(destSocket);
if (status == SOCKET_ERROR)
cerr << "ERROR: closesocket unsuccessful"
<< endl;
status=WSACleanup();
if (status == SOCKET_ERROR)
cerr << "ERROR: WSACleanup unsuccessful"
<< endl;
return(1);
}
/* Wait before sending the message again */
Sleep(4800);
} /* while */
}
#include <iostream.h>
#include <winsock.h>
#define NO_FLAGS_SET 0
#define PORT (u_short) 44965
#define DEST_IP_ADDR "192.168.10.158" //Server address
INT main(VOID)
{
WSADATA Data;
SOCKADDR_IN destSockAddr;
SOCKET destSocket;
unsigned long destAddr;
int status;
int numsnt;
char *toSendtxt="Test String";
/* initialize the Windows Socket DLL */
status=WSAStartup(MAKEWORD(1, 1), &Data);
if (status != 0)
cerr << "ERROR: WSAStartup unsuccessful"
<< endl;
/* convert IP address into in_addr form */
destAddr=inet_addr(DEST_IP_ADDR);
/* copy destAddr into sockaddr_in structure */
memcpy(&destSockAddr.sin_addr,
&destAddr, sizeof(destAddr));
/* specify the port portion of the address */
destSockAddr.sin_port=htons(PORT);
/* specify the address family as Internet */
destSockAddr.sin_family=AF_INET;
/* create a socket */
destSocket=socket(AF_INET, SOCK_STREAM, 0);
if (destSocket == INVALID_SOCKET)
{
cerr << "ERROR: socket unsuccessful" << endl;
status=WSACleanup();
if (status == SOCKET_ERROR)
cerr << "ERROR: WSACleanup unsuccessful"
<< endl;
return(1);
}
cout << "Trying to connect to IP Address: "
<< DEST_IP_ADDR << endl;
/* connect to the server */
status=connect(destSocket,
(LPSOCKADDR) &destSockAddr,
sizeof(destSockAddr));
if (status == SOCKET_ERROR)
{
cerr << "ERROR: connect unsuccessful" << endl;
status=closesocket(destSocket);
if (status == SOCKET_ERROR)
cerr << "ERROR: closesocket unsuccessful"
<< endl;
status=WSACleanup();
if (status == SOCKET_ERROR)
cerr << "ERROR: WSACleanup unsuccessful"
<< endl;
return(1);
}
cout << "Connected..." << endl;
while(1)
{
cout << "Sending..." << endl;
numsnt=send(destSocket, toSendtxt,
strlen(toSendtxt) + 1, NO_FLAGS_SET);
if (numsnt != (int)strlen(toSendtxt) + 1)
{
cout << "Connection terminated" << endl;
status=closesocket(destSocket);
if (status == SOCKET_ERROR)
cerr << "ERROR: closesocket unsuccessful"
<< endl;
status=WSACleanup();
if (status == SOCKET_ERROR)
cerr << "ERROR: WSACleanup unsuccessful"
<< endl;
return(1);
}
/* Wait before sending the message again */
Sleep(4800);
} /* while */
}
相关文章推荐
- VC++ Socket编程 简单的Tcp/ip客户端
- VC++ Socket编程 简单的Tcp/ip客户端
- VC++ Socket编程 简单的Tcp/ip服务器
- [C++] Windows下的socket编程(这是一个简单的TCP/IP例子)
- socket编程:简单TCP服务器/客户端编程
- 简单的TCP协议 socket编程(C语言版服务器和客户端)
- [C++] Windows下的socket编程(这是一个简单的TCP/IP例子)
- socket编程实现简单DNS协议实现获取域名ip(TCP)
- 【socket编程】 一个简单的基于TCP连接的客户端、服务端用例
- Linux Socket编程:基于TCP/IP的客户端与服务端通讯实例
- vc socket tcp编程的简单实例
- socket编程:简单的TCP客户端
- 【网络编程笔记】简单的TCP协议 socket编程(C语言版服务器和客户端)
- 简单的TCP协议 socket编程(C语言版服务器和客户端)
- TCP/TP编程 - 一个简单的Linux下C写的socket服务器客户端程序
- socket编程:简单TCP服务器/客户端编程
- VC++中Socket编程的实现---【TCP客户端】
- VC++中Socket编程的实现-TCP客户端
- [C++] Windows下的socket编程(这是一个简单的TCP/IP例子)
- 01 TCP Socket 编程_一个简单的服务端程序和客户端程序实现