`
shaojiashuai123456
  • 浏览: 262658 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

c socket 编程(TCP服务器端代码)

阅读更多
1.文件名为 connect.h

   

#ifndef CONNECT_H
#define CONNECT_H

/******************
**功能:连接初始化
**输入:port 端口,listen_fd1 监听文件
**输出:返回监听文件
******************/
int connect_init(int port,int *listen_fd1); //初始化socket,建立连接

/******************
**功能:发送功能
**输入:com_fd 客户端文件,buf 发送信息,len 信息长度
**输出:返回1表示发送成功,0表示不成功
******************/
int connect_sendMessage(int com_fd,char *buf,int len); //发送消息到后台

/******************
**功能:接受信息功能
**输入:com_fd 客户端文件,buf 接受信息,len 信息长度
**输出:返回1表示发送成功,0表示不成功
******************/
int connect_receiveMessage(int com_fd,char *buf,int len); //前台接收消息

#endif
2。文件名为connect.c
#include<stdio.h>
#include<string.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<errno.h>
#include<unistd.h>
#include<sys/wait.h>
#include<netdb.h>
#include<pthread.h>

/******************
**功能:连接初始化
**输入:port 端口,listen_fd1 监听文件
**输出:返回监听文件
******************/
int connect_init(int port,int *listen_fd1){
    int listen_fd;
    int com_fd;
    int ret;
    int len;
    struct sockaddr_in client_addr;
    struct sockaddr_in server_addr;
    
    pthread_t pthread_id;
    
    listen_fd = socket(AF_INET, SOCK_STREAM, 0);
    if(listen_fd == -1){
        perror("listen_fd error");
        return 1;
    }
    memset(&server_addr,0,sizeof(server_addr));
    server_addr.sin_family = AF_INET;
    server_addr.sin_port = port;
    server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
    
    ret = bind(listen_fd, (struct sockaddr *)&server_addr, sizeof(server_addr));
    if(ret == -1){
        perror("connot bind server socket");
        close(listen_fd);
        return 1;
    }
   
    ret = listen(listen_fd, 1);    
    if(ret == -1){
        perror("connot listen the client connect request");
        close(listen_fd);
        return 1;
    }
     *listen_fd1=listen_fd;
}

/******************
**功能:发送功能
**输入:com_fd 客户端文件,buf 发送信息,len 信息长度
**输出:返回1表示发送成功,0表示不成功
******************/
int connect_sendMessage(int com_fd,char *buf,int len){
     if(len>0){
          send(com_fd,buf,len,0);
          return 1;
     }
     else return 0;
}
/******************
**功能:接受信息功能
**输入:com_fd 客户端文件,buf 接受信息,len 信息长度
**输出:返回1表示发送成功,0表示不成功
******************/
int connect_receiveMessage(int com_fd,char *buf,int len){
    int size;
    size=recv(com_fd,buf,len,0);
    if(size>0){
       buf[size]='\0';
       return size;
    }
    else return 0;
}

   

    

  使用上面的函数

   

#include <stdio.h>
#include "connect.h"


int main(int argc, char *argv[])
{
    int port = 5000;
    int listen_fd;
    
    struct sockaddr_in client;
    socklen_t   client_len;
    int size= sizeof(client_len);
    char buf[1024];
    //初始化
    connect_init(port,&listen_fd);
    while(1){
         //建立连接
         com_fd = accept(listen_fd,(struct sockaddr *)&client,&size);
		 printf("connect\n");
         //接收客户端信息
		 connect_receiveMessage(com_fd,buf,1024);
         //发送信息
         connect_sendMessage(com_fd,"N",1);
         //关闭与客户端连接
    	 close(com_fd);  
    }
     //关闭服务器socket文件描述符
     close(listen_fd);
     return 0;
}

 

0
0
分享到:
评论
1 楼 hhb19900618 2013-12-14  
你好 请问怎么处理 客户端 socket发送数据超时后的崩溃问题呢?

相关推荐

    基于TCP的Socket编程服务器和客户端代码

    在IT领域,网络通信是不可或缺的一部分,而TCP...通过`File_client.java`和`File_server.java`这两个文件,我们可以学习到如何在Java中实现TCP服务器和客户端的交互,这对于理解网络编程和开发相关应用至关重要。

    linux下C语言SOCKET编程客户端、服务器端代码

    本篇文章将深入探讨Linux下的C语言SOCKET编程,包括客户端和服务器端的实现。 首先,我们要理解SOCKET的基本概念。在计算机网络中,SOCKET是一种进程间通信(IPC)机制,它允许通过网络连接的两台机器上的进程相互...

    socket编程之tcp连接代码

    在本主题中,我们将深入探讨TCP(传输控制协议)连接的Socket编程,包括服务器端和客户端的实现代码。 TCP是一种面向连接的、可靠的传输层协议,它确保了数据在发送到目的地之前是完整且有序的。TCP连接的建立过程...

    基于TCP/IP的socket编程

    "基于TCP/IP的socket编程"是一个深入探讨如何使用socket接口进行网络通信的主题。Socket编程允许应用程序通过网络发送和接收数据,它是互联网上不同计算机之间交互的核心机制。 在给定的描述中,我们看到一个创新的...

    Socket编程—服务器

    Socket编程是计算机网络通信中的重要概念,特别是在服务器端开发中起着核心作用。MFC(Microsoft Foundation Classes)是微软提供的一套C++类库,用于简化Windows应用程序的开发,包括了对Socket编程的支持。本篇将...

    tcpSever-TCP服务器端程序

    《TCP服务器端程序详解》 在信息技术领域,网络通信是不可或缺的一部分,而TCP(Transmission Control Protocol)协议作为传输层的主要协议之一,为应用程序提供了一种可靠的数据传输方式。本篇文章将深入探讨“tcp...

    C语言SOCKET编程FTP

    通过阅读和分析这些代码,可以深入理解C语言SOCKET编程和FTP协议的应用。 总结来说,C语言SOCKET编程FTP项目是一个实践性的学习案例,它展示了如何使用C语言的SOCKET接口实现FTP客户端,涵盖了网络连接、身份验证、...

    c语言socket编程 与服务器长连接的客户端程序

    本篇将详细讲解C语言中的socket编程,以及如何构建一个与服务器保持长连接的客户端程序。 首先,我们需要了解什么是Socket。Socket是网络通信的一种接口,它允许两个网络应用程序通过TCP/IP协议进行数据交换。在...

    Android Socket编程客户端服务器端源码

    本教程将深入探讨Android Socket编程的基本概念、客户端与服务器端的实现以及相关源码解析。 一、Socket基本概念 Socket,也被称为套接字,是网络通信中的一个重要接口,它为两台设备提供双向通信的通道。在Android...

    C语言socket编程.pdf

    本文件“C语言socket编程.pdf”显然是一个关于如何使用C语言进行socket编程的教程或指南,旨在帮助开发者理解和掌握网络通信的核心概念和技术。Socket编程是C语言中实现客户端-服务器通信的关键工具,它提供了标准的...

    简单的socket tcp 服务器 客服端代码

    首先,我们来看"servertcp",这是一个基础的TCP服务器端代码。在Python中,我们可以使用内置的`socket`模块来创建服务器。下面是一段基本的TCP服务器代码: ```python import socket # 创建socket对象 server_...

    VC学习笔记-基于TCP的socket编程

    ### 基于TCP的Socket编程在VC中的应用与实现 #### 一、知识点概览 在VC(Visual C++)环境下进行网络编程时,基于TCP的socket编程是实现客户端与服务器之间通信的重要方式之一。本文将从初始化、创建socket、绑定...

    C语言Socket简单编程指南

    文档中可能包含了如何用C语言编写一个简单的服务器和客户端程序的示例,这些示例通过逐步引导的方式,帮助读者理解并掌握Socket编程。 ### 数据包Sockets、阻塞以及select()多路同步I/O 在Socket编程中,理解...

    SOCKET网络编程服务器端和客户端代码(同步通信)

    本教程将深入讲解如何使用`SOCKET`进行服务器端和客户端的同步通信,主要涉及TCP协议。以下是对标题和描述中所包含知识点的详细解释: 1. **SOCKET网络编程**:`SOCKET`是操作系统提供的接口,它允许应用程序通过...

    linux下多线程网络编程TCP服务器端数据传输代码

    在提供的压缩包中,"linux下多线程网络编程TCP服务器端数据传输代码"应该包含了实现这些步骤的C语言源代码。在使用前,务必阅读readme.txt文件,了解代码的运行环境、依赖库和使用方法。 这个程序可能包含以下关键...

    Socket实现tcp编程

    文件“TestSocket”可能包含了一个简单的Socket TCP编程示例,可能涵盖了服务器端和客户端的代码实现,读者可以通过阅读和运行这个示例来加深理解。在实际开发中,还可以结合错误处理、超时机制、性能优化等技术,让...

    计算机网络编程socket客户端与服务器通讯

    本项目通过实际操作加深了学生对于TCP/IP协议以及socket编程的理解。通过搭建Android客户端与服务器端的通信框架,并利用服务器作为中间件访问MySQL数据库,不仅锻炼了学生的编程实践能力,还帮助他们掌握了网络编程...

    SOCKET TCP 文件传输 客户端 服务器端 client svever

    在这个项目中,"Socket文件传输"可能包含了客户端和服务器端的源代码文件,如client.c或client.py,server.c或server.py等。这些文件通常包含了上述的TCP文件传输逻辑,通过编译或运行可以实现文件的双向传输。 ...

    TCP编程的服务器端一般步骤是:

    TCP 编程服务器端和客户端步骤详解 TCP 编程服务器端一般步骤是: 1. 创建一个 socket,用函数 socket():在服务器端,首先需要创建一个 socket,以便与客户端进行通信。socket() 函数用于创建一个 socket,参数...

    socket编程 TCP文件的传输实现 客户端和服务端

    总的来说,TCP Socket编程涉及到网络通信的基础知识,包括套接字的创建、连接建立、数据传输以及异常处理。这个资源为初学者提供了一个简单的起点,帮助理解TCP文件传输的机制。在实际项目中,还需要考虑更多的因素...

Global site tag (gtag.js) - Google Analytics