基于流式套接字的回射客服端编程程序

基于流式套接字的回射客服端编程程序

#include <WS2tcpip.h>
#include<unistd.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include <winsock2.h>
#define MAXLINE 512
#define PORT 7210   //填服务器端口号
#define IP_ADDRESS "127.0.0.1"   //填服务器ip
int client(SOCKET s)
{
    int ire;
    char sendline[MAXLINE]={"test"},recvline[MAXLINE];
    //memset(sendline,0,MAXLINE);
    memset(recvline,0,MAXLINE);
    ire = send(s, sendline, (int)strlen(sendline), 0);
        if (ire == SOCKET_ERROR)
                {
                    printf("send failed:%d\n",WSAGetLastError());
                    return -1;
                }
        printf("\r\n客服端发送数据:%s\r\n",sendline);
    do
    {
        memset(recvline,0,MAXLINE);
        ire = recv(s, recvline,MAXLINE, 0);
        if (ire>0)
            printf("客服端收到数据:%s \r\n",recvline);
        else
        {
            if(ire==0)
                printf("服务器终止!\n");
            else
                printf("recv failed:%d\n",WSAGetLastError());
        }
    }while (ire>0);
    return 0;
}
int main()
{
  int n,i;
  int iResult;
    WSADATA wsaData;
    WORD v=MAKEWORD(2,2);
    iResult=WSAStartup(v,&wsaData);
    if(iResult!=0)
    {
        printf("WSAStartup failed: %d\n",iResult);
        return -1;
    }     //套接字初始化 

    int sockfd,con;
    struct sockaddr_in servaddr;
    servaddr.sin_family = AF_INET;
    servaddr.sin_addr.s_addr=inet_addr(IP_ADDRESS);
    sockfd = socket(AF_INET, SOCK_STREAM, 0);
    if (sockfd< 0) {
      printf("socket error:%d\n",sockfd);
      return -1;
    }
    servaddr.sin_port = htons(PORT);
    con=connect(sockfd, (struct sockaddr*)&servaddr, sizeof(sockaddr_in));  //连接服务器

    client(sockfd);   //发送 接收数据

    iResult=WSACleanup();
    if(iResult!=0)
    {
        printf("WSACleanup failed: %d\n",iResult);
        return -1;
    }     //套接字释放
  return 0;
}

原文地址:https://www.cnblogs.com/juicef/p/11555788.html

时间: 2024-10-11 11:13:04

基于流式套接字的回射客服端编程程序的相关文章

1.2.1 流式套接字编程

1.2  获取网络中计算机的IP地址和计算机名 在开发网络应用的过程中,经常需要获取网络中某台计算机的IP地址和计算机名称.在本节的内容中,将介绍如何使用Visual C++ 6.0开发一个实现上述功能的应用程序. 1.2.1  流式套接字编程(1) 网络数据的传输是通过套接字实现的.套接字有3种类型:流式套接字(SOCK_ STREAM),数据报套接字(SOCK_DGRAM)及原始套接字(RAW).在本小节的内容中,将首先讲解流式套接字编程的基本知识. 流式套接字是面向连接的,提供双向.有序.

流式套接字(SOCK_STREAM),数据报套接字 (SOCK_DGRAM) 的比较

1.流式套接字 使用这种套接字时,数据在客户端是顺序发送的,并且到达的顺序是一致的.比如你在客户端先发送1,再发送2,那么在服务器端的接收顺序是先接收到1,再接收到2,流式套接字是可靠的,是面向连接的: 2.数据报套接字 这种套接字是无连接的,数据是打包成数据包发送的,到达的顺序不一定与发送的顺序是一致的,并且数据不一定是可达的,并且接收到的数据还可能出错. 既然这样那为什么还要使用这种套接字呢?因为现每个使用udp的程序都有自己的对数据进行确认的协议.如TFTP协议规定了每收到一个消息比如,

Linux 下基于多线程服务器/客服端聊天程序源码

Linux 下基于多线程服务器/客服端聊天程序,采用阻塞的socket技术,和多线程技术实现. 客服端程序:client.c #include<stdio.h> #include<stdlib.h> #include<string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netinet/ip.h>

基于Linux平台实现的流式套接字客户端服务器端代码

(1)服务器段代码如下: #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <errno.h> #include <string.h> #include <netdb.h> #include <sys/types.h> #include <time.h> #include <sys/socket.h> #inclu

多客户登录(基于TCP的流式套接字Socket编程)

1.序列化对象 package com.ljb.app.socket; import java.io.Serializable; /**  * 用户类(实现序列化)  * @author LJB  * @version 2015年3月12日  */ public class User implements Serializable{  private String name;  private String password;    public String getName() {   ret

Day35:基于UDO的套接字、粘包问题

一.基于UDP的套接字 UDP服务端 ss = socket() #创建一个服务器的套接字 ss.bind() #绑定服务器套接字 inf_loop: #服务器无限循环 cs = ss.recvfrom()/ss.sendto() # 对话(接收与发送) ss.close() # 关闭服务器套接字 UDP客户端 cs = socket() # 创建客户套接字 comm_loop: # 通讯循环 cs.sendto()/cs.recvfrom() # 对话(发送/接收) cs.close() #

python基于udp的套接字

1.基于udp的套接字 (1)udp不会产生粘包现象 (2)udp是无链接的,先启动哪一端都不会报错. (3)upd是无连接的,所以可以同时多个客户端跟服务端通信. 2.代码例子 服务端: from socket import * udp_server=socket(AF_INET,SOCK_DGRAM) #创建一个服务器的套接字 udp_server.bind(('127.0.0.1',8080)) #绑定一个服务器套接字 while True: data,client_addr=udp_se

TCP/IP网络编程 学习笔记_7 --基于UDP的服务端/客服端

理解UDP UDP套接字的特点:在笔记2中讲套接字类型有提,类似信件或邮件的传输.UDP在数据传输过程中可能丢失,如果只考虑可靠性,TCP的确比UDP好.但UDP在结构上比TCP更简洁.UDP没有ACK,SEQ那样的操作,因此,UDP的性能有时比TCP高出很多.编程中实现UDP也比TCP简单.另外,虽然UDP是不可靠的数据传输,但也不会像想象中那么频繁地发生数据丢失.因此,在更重视性能而非可靠性的情况下(如传输视频,音频时),UDP是一种很好的选择.而如果是传递压缩文件则必须要用TCP,因为压缩

Android客服端和Php服务端互通,实现一套应用市场(含服务端)!

Android客服端和Php服务端互通,实现一套应用市场(含服务端) 真正的商城项目,由于个人原因无力继续下去了,代码是几个月前写的,现在放出.基本的功能都有,由于此项目不完整,我也不做多的介绍了.自己去发现吧. 服务端地址:http://dengxiaohua.hk127.wsdns.cc/app/ 后台无需输入账号和密码,直接登录即可. 下载地址:http://www.devstore.cn/code/info/822.html 运行截图: