新建发送客户端

来源:互联网 发布:做网络销售工资有多高 编辑:程序博客网 时间:2024/06/05 14:50
#include "stdafx.h"
#include <stdio.h>  
#include <Winsock2.h>  
#include <Windows.h>
#include <string>
using namespace std;
#pragma comment( lib, "ws2_32.lib" )
int _tmain(int argc, _TCHAR* argv[])
{
    WORD wVersionRequested;  
    WSADATA wsaData;  
    int err; 
    wVersionRequested = MAKEWORD( 1, 1 );//第一个参数为低位字节;第二个参数为高位字节 
    err = WSAStartup( wVersionRequested, &wsaData );//对winsock DLL(动态链接库文件)进行初始化,协商Winsock的版本支持,并分配必要的资源。  
    if ( err != 0 )  
    {  
        return 0;  
    } 
    if ( LOBYTE( wsaData.wVersion ) != 1 ||HIBYTE( wsaData.wVersion ) != 1 )//LOBYTE()取得16进制数最低位;HIBYTE()取得16进制数最高(最左边)那个字节内容            {  
        WSACleanup( );  
        return 0;  
    }  
    SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0); 
    SOCKADDR_IN addrClt;//需要包含服务端IP信息  
    addrClt.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");// inet_addr将IP地址从点数格式转换成网络字节格式整型。  
    addrClt.sin_family=AF_INET;   
    addrClt.sin_port=htons(8000); 

    if(SOCKET_ERROR==connect(sockClient,(SOCKADDR*)&addrClt,sizeof(SOCKADDR)))

    {

        printf("网络连接失败\n");//客户机向服务器发出连接请求

        return 0;

     }


       char sendBuf[5000]; 
        memset(sendBuf,0,sizeof(sendBuf));

      strcat(sendBuf,"发送字符串"); //

     
    if (SOCKET_ERROR==send(sockClient,sendBuf,strlen(sendBuf)+1,0))
        {
            printf("发送请求失败\n");            
        }
    while (true)
    {
        char Buf[500];
        memset(Buf,0,sizeof(Buf));    
        if (SOCKET_ERROR==recv(sockClient,Buf,sizeof(Buf),0))
        {
            printf("接收数据失败\n");
            system("pause");
            return 0;
        }
        else
        {
            printf("接收到的数据:%s\n",Buf);
        }
}

0 0
原创粉丝点击