33,311
社区成员
发帖
与我相关
我的任务
分享
#include <Winsock.h>
#include <Windows.h>
#include <stdio.h>
#include <iostream>
using namespace std;
#pragma comment(lib,"wsock32.lib")
#define RECV_PORT 2000
#define SEND_PORT 3000
SOCKET sock;
sockaddr_in ServerAddr;
DWORD StartSock(char* ad="24.85.151.22")
{
WSADATA WSADate;
if(WSAStartup(MAKEWORD(2,2), &WSADate ) !=0)
{
//fail
cout<<"情况1"<<endl;
}
ServerAddr.sin_family=AF_INET;
ServerAddr.sin_addr.s_addr= inet_addr (ad);
ServerAddr.sin_port= htons (RECV_PORT);
return 1;
}
DWORD CreatSocket()
{
sock = socket(AF_INET,SOCK_STREAM,0);
if(sock == SOCKET_ERROR)
{
WSACleanup();
//fail
cout<<"情况2"<<endl;
}
return 1;
}
DWORD CallServer()
{
CreatSocket();
if(connect(sock,(sockaddr*) &ServerAddr, sizeof (ServerAddr) ) == SOCKET_ERROR)
{
return -1;
//fail
cout<<"情况1"<<endl;
}
return 1;
}
DWORD TCPSend(char date[])
{
int length;
length = send(sock,date,strlen(date),0);
if(length <= 0)
{
cout<<"sending error"<<endl;
//slosesocket(sock);
WSACleanup();
return -1;
}
return 1;
}
int main()
{
char buff[80];
int num,i;
char ad[80];
cout<<"Please in put adress"<<endl;
cin>>ad;
StartSock(ad);
if(CallServer())
{//有改动
cin>>i;
}
while(1)
{
memset(buff,0,80);
{
cin>>num;
}
if(num<=0)
{
break;
}
for(i=0;i<num;i++)
{
sprintf(buff,"date%d",i);
printf(buff);
cout<<endl;
TCPSend(buff);
Sleep(1000);
}
}
return 0;
}
#include <Winsock.h>
#include <Windows.h>
#include <stdio.h>
#include <iostream>
using namespace std;
#pragma comment(lib,"wsock32.lib")
#define RECV_PORT 2000
#define SEND_PORT 3000
SOCKET sock,sock1;
sockaddr_in ServerAddr;
sockaddr_in ClientAddr;
int Addrlen;
DWORD StartSock()
{
WSADATA WSADate;
if(WSAStartup(MAKEWORD(2,2), &WSADate ) !=0)
{
//fail
return -1;
cout<<"情况1"<<endl;
}
return 1;
}
DWORD CreatSocket()
{
sock = socket(AF_INET,SOCK_STREAM,0);
if(sock == SOCKET_ERROR)
{
WSACleanup();
//fail
return -1;
cout<<"情况2"<<endl;
}
ServerAddr.sin_family=AF_INET;
ServerAddr.sin_addr.s_addr= htonl (INADDR_ANY);
ServerAddr.sin_port= htonl (RECV_PORT);
if(bind( sock,(sockaddr FAR*) &ServerAddr ,sizeof ( ServerAddr )) == SOCKET_ERROR )
{
//fail
return -1;
cout<<"情况4"<<endl;
}
return 1;
}
DWORD ConnectProcess()
{
char buff[80];
Addrlen = sizeof (sockaddr_in);
if(listen(sock,5)<0)
{
//fail
return -1;
cout<<"情况3"<<endl;
}
cout<<"Listening....."<<endl;
while(1)
{
sock1 = accept (sock,(sockaddr FAR*) &ClientAddr,&Addrlen);
while(1)
{
memset(buff,0,80);
if(recv(sock1,buff,80,0)<=0)
{
break;
}
cout<<buff<<endl;
}
}
}
void main()
{
StartSock();
CreatSocket();
ConnectProcess();
}
DWORD CreatSocket()
{
sock = socket(AF_INET,SOCK_STREAM,0); //应该用sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(sock == SOCKET_ERROR)
{
WSACleanup();
//fail
cout<<"情况2"<<endl;
}
return 1;
}