client

转载 2016年08月28日 16:22:55
客户端

#include<Winsock2.h>
#include
<stdio.h>
#include
<stdlib.h>
#pragma comment (lib,
"ws2_32.lib")

//服务器使用的端口号为5050
#define DEFAULT_PORT 5050
#define DATA_BUFFER 1024

void main()
{
    WSADATA wsaData;
    SOCKET sClient;
    
int iPort = DEFAULT_PORT;
    
//接收数据的缓冲
    int iSend;
    
int iRecv;
    
//要发送给服务器的信息
    char send_buf[1024];
    
//接收数据的缓冲
    char recv_buf[DATA_BUFFER];
    
//服务器端地址
    struct sockaddr_in ser;

    printf(
"--------------------------\n");
    printf(
"基于TCP的通信程序的客户端\n");

    
//提示在命令持中输入法服务器IP地址
    printf("输入服务器IP:");

    
char ipz[32];    
    gets(ipz);
    
//char * ipz=&ip;

    
//接收数据的缓冲区初始化
    memset(recv_buf,0,sizeof(recv_buf));

    
if(WSAStartup(MAKEWORD(2,2),&wsaData) != 0)
    
{
        printf(
"Failed to load Winsock.\n");
        
return;
    }


    
//填写要连接的服务器地址信息
    ser.sin_family = AF_INET;
    ser.sin_port 
= htons(iPort);
    
//inet_addr()函数将命令持的点扫IP地址转化为用二进制表示的网络顺序的IP地址
    
//ser.sin_addr.s_addr = inet_addr(argv[1]);
    ser.sin_addr.s_addr = inet_addr(ipz);
    
//建立客户端流式套接口
    sClient = socket(AF_INET,SOCK_STREAM,0);

    
if(sClient == INVALID_SOCKET)
    
{
        printf(
"socket() Failed:%d\n",WSAGetLastError());
        
return;
    }


    
//请求与服务器端建立TCP连接
    if(connect(sClient,(struct sockaddr*)&ser,sizeof(ser)) == INVALID_SOCKET)
    
{
        printf(
"connect() Failed.:%d\n",WSAGetLastError());
        
return;
    }

    
else
    
{
        printf(
"建立TCP连接成功!\n");
        printf(
"--------------------------\n");

        
//进入一个无限循环,与服务器交互
        while(1){

            
//向服务器发送数据

            printf(
"发送消息:");
            gets(send_buf);

            iSend 
= send(sClient,send_buf,sizeof(send_buf),0);

            
if(iSend == SOCKET_ERROR)
            
{
                printf(
"send() Failed:%d\n,WSAGetLastError()");
                    
return;
            }

            
else if(iSend == 0)
                
return;
                
else
                    printf(
"发送成功.\n");


            
//从服务器端接收数据
            iRecv = recv(sClient,recv_buf,sizeof(recv_buf),0);

            
if(iRecv == SOCKET_ERROR)
            
{
                printf(
"recv() Failed:%d\n",WSAGetLastError());
                
return;
            }

            
else if(iRecv == 0)
                
return;
                
else
                
{
                    
//显示从服务器收到的信息
                    printf("服务器说:%s\n",recv_buf);
                    printf(
"--------------------------\n");
                }

        }

    }


    closesocket(sClient);
    WSACleanup();
}


相关文章推荐

Oracle 11G Client 客户端安装步骤(图文详解)

oracle2010 http://www.cnblogs.com/jiguixin/archive/2011/09/09/2172672.html 下载地址: http...

linux下ftp的server/client的部署及使用

1.首先在一台linux机器上安装ftp服务端软件,例如proftpd,vsftpd等等 2.ftp客户端使用 (1)ftp remoteserver      通过ip或者主机名来来通过ftp协...

java client访问https server(客户端代码、服务器端配置)

openssl配置证书时直接配置crt、key即可  而jsse通过keystore来存储证书、证书链信息,java客户端通过jsse来使用ssl  具体openssl和keytool各种证书类型...
  • wzyzzu
  • wzyzzu
  • 2015年01月07日 11:06
  • 937

[分布式监控CAT] Client端源码解析

前言Server端 (Cat-consumer 用于实时分析从客户端提供的数据\Cat-home 作为用户给用户提供展示的控制端 ,并且Cat-home做展示时,通过对Cat-Consumer的调...
  • lemon89
  • lemon89
  • 2017年05月04日 16:06
  • 2372

VMware vSphere Client下增加虚拟机磁盘空间的方法

随着系统运维时间的增长,磁盘就日益的损耗,如果遇到虚拟机报磁盘空间不足怎么办?还好,我们可以通过磁盘阵列增加磁盘空间,然后扩容到虚拟机中去。 对于linux虚拟机磁盘扩容的方案有两种,一种就是原有的...

【Socket编程】使用C++实现Server端和Client端

我是在Visual Stdio 2013上建立了两个工程,分别编译运行下面的两个main文件,然后进行测试的服务端:Server.cpp#include #include using std::co...

Ubuntu以客户端client配置openvpn进行连接

VPN直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道; OpenVPN 是一个基于 OpenSSL 库的应用层 VPN 实现。和传统 VPN 相比,它的优点是简单易用。 ...

MQTT协议之使用Future模式订阅及发布(使用fusesource mqtt-client实现)

fusesource版本:mqtt-client-1.10.jar 下载地址:https://github.com/fusesource/mqtt-client fusesource提供三...

http client对post内容gzip压缩和server端解压接收

client端代码: public void sendHttp(String url, String message) { if (StringUtils.isBlank(message)) { ...
  • lcx46
  • lcx46
  • 2014年06月08日 20:40
  • 26854

Linux里Oracle client客户端简便安装

Linux里Oracle client客户端简便安装
  • Karloo
  • Karloo
  • 2016年07月08日 16:43
  • 10010
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:client
举报原因:
原因补充:

(最多只允许输入30个字)