`
deepfuture
  • 浏览: 4398174 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80056
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70002
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103301
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:285642
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15001
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67503
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32103
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45965
社区版块
存档分类
最新评论

linux-udp网络编程-c/s

阅读更多

1 .server

deepfuture@deepfuture-laptop:~/private/mytest$ ./testupds

server wait....

 

server read :deepfuture.iteye.com

 

server send :hello

 

server wait....

^C

deepfuture@deepfuture-laptop:~/private/mytest$ 

2.client

deepfuture@deepfuture-laptop:~/private/mytest$ ./testupdc

client send....

client send :deepfuture.iteye.com

 

client read :hello

 

deepfuture@deepfuture-laptop:~/private/mytest$ 

3.source
1)server
#include <stdio.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
//deepfuture.iteye.com

int main(void){
    int fd;
    int addresslen;
    struct sockaddr_in address;//地址信息结构

    int rc;


                  
    //建立socket
    fd=socket(AF_INET,SOCK_DGRAM,0);//fd为socket
    if (fd==-1){//错误,类型从errno获得
        perror("error");//perror先输出参数,后跟":"加空格,然后是errno值对应的错误信息(不是错误代码),最后是一个换行符。        
    }
    
    //bind 到socket fd    
    address.sin_family=AF_INET;//IPV4协议,AF_INET6是IPV6
    address.sin_addr.s_addr=htonl(INADDR_ANY);//l表示32位,htonl能保证在不同CPU的相同字节序
    address.sin_port=htons(1253);//端口号,s表示16位
    addresslen=sizeof(address);
    

    bind(fd,(struct sockaddr *)&address,addresslen);//bind
    

           while(1){

              struct sockaddr_in clientaddress;
              int address_len;

              char mybuf[100];    
              char *buf="hello\n";  
              int n;            


              printf("server wait....\n");
              fflush(stdout);     
              address_len=sizeof(clientaddress);
              n=recvfrom(fd,mybuf,100,0,(struct sockaddr *)&clientaddress,&address_len);//读数据
              printf("server read :%s\n",mybuf);    
              sendto(fd,buf,strlen(buf)+1,0,(struct sockaddr *)&clientaddress,address_len);//写数据    
              printf("server send :%s\n",buf);    
  
             }
  }
 2)client
#include <stdio.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
//deepfuture.iteye.com

int main(void){
    int fd;
    int addresslen;
    struct sockaddr_in address;//地址信息结构

    int rc;

    char mybuf[100];    
    char *buf="deepfuture.iteye.com\n";  
    int n;   


                  
    //建立socket
    fd=socket(AF_INET,SOCK_DGRAM,0);//fd为socket
    if (fd==-1){//错误,类型从errno获得
        perror("error");//perror先输出参数,后跟":"加空格,然后是errno值对应的错误信息(不是错误代码),最后是一个换行符。        
    }
    
    //bind 到socket fd    
    address.sin_family=AF_INET;//IPV4协议,AF_INET6是IPV6
    address.sin_addr.s_addr=htonl(INADDR_ANY);//l表示32位,htonl能保证在不同CPU的相同字节序
    address.sin_port=htons(1253);//端口号,s表示16位
    addresslen=sizeof(address);
    

         


              printf("client send....\n");
              fflush(stdout);     
              sendto(fd,buf,strlen(buf)+1,0,(struct sockaddr *)&address,addresslen);//写数据    
              printf("client send :%s\n",buf);     
              n=recvfrom(fd,mybuf,100,0,NULL,NULL);//读数据
              printf("client read :%s\n",mybuf);    

  

  }


 
分享到:
评论

相关推荐

    s3c2410-linux-udp源码

    【标题】"s3c2410-linux-udp源码"涉及的知识点主要集中在嵌入式系统、Linux内核编程以及网络通信协议UDP(User Datagram Protocol)的应用上。S3C2410是一款由Samsung公司生产的基于ARM920T内核的微处理器,常用于...

    linux C语言 网络编程教程及源码

    5、Linux网络编程05——C/S与B/S架构的区别 6、Linux网络编程06——UDP协议编程 7、Linux网络编程07——广播 8、Linux网络编程08——多播 9、Linux网络编程09——TCP编程之客户端 10、Linux网络编程10——TCP编程之...

    socket_linux-socket网络编程详解_

    本文将深入探讨Linux下的Socket网络编程,主要使用C语言进行讲解。 一、Socket基本概念 Socket在网络编程中扮演着核心角色,它是进程间的通信端点,提供了在互联网上不同计算机间进程通信的接口。在Linux中,Socket...

    linux操作系统下c语言编程入门--网络编程

    ### Linux操作系统下的C语言网络编程入门 随着互联网的迅速发展,网络编程已成为现代软件开发中的一个核心技能。在Linux环境下进行网络编程不仅能够让你更好地理解网络通信的基本原理,还能够帮助你在众多开发者中...

    黑马_Linux网络编程-网络基础-socket编程-高并发服务器

    ### 黑马_Linux网络编程-网络基础-socket编程-高并发服务器 #### 知识点概述 本篇文章旨在深入解读“黑马_Linux网络编程-网络基础-socket编程-高并发服务器”相关的核心概念和技术要点,包括网络基础知识、常用...

    基于UDP协议的Client/Server linux网络编程

    【标题】:“基于UDP协议的Client/Server Linux网络编程” 在计算机网络中,UDP(User Datagram Protocol,用户数据报协议)是一种无连接的传输层协议,它提供了比TCP(Transmission Control Protocol,传输控制...

    Linux网络编程-网络基础-socket编程-高并发服务器.pdf

    【Linux网络编程-网络基础-socket编程-高并发服务器】 在深入探讨Linux下的网络编程之前,我们首先要理解网络通信的基础概念——协议。协议是数据传输和解释的规则,它确保了不同设备之间的通信能顺利进行。例如,...

    UDP.rar_C C/S架构_UDP并发服务器_tcp 并发连接_并发服务器 c

    在IT领域,网络编程是不可或缺的一部分,特别是在C语言环境下,理解和掌握C/S(Client/Server)架构、UDP(User Datagram Protocol)并发服务器以及TCP(Transmission Control Protocol)并发连接至关重要。...

    C/S多人聊天室

    总的来说,"C/S多人聊天室"项目融合了网络编程、多线程技术和两种主要的网络传输协议,展示了如何在实际应用中灵活运用这些技术。通过这个项目,开发者不仅能深入理解TCP与UDP的特性,还能掌握客户端与服务器之间的...

    Linux网络编程-网络基础-socket编程-高并发服务器

    网络基础协议的概念: 在计算机网络中,协议是一系列规则和约定的集合,用于控制网络中不同设备间的通信方式。...通过深入理解这些知识点,可以更好地掌握Linux网络编程,以及如何构建高并发服务器。

    linux下基于简单socket编程实现C/S

    本文将详细讲解如何在Linux环境下,通过简单的C语言Socket API实现一个基础的客户端/服务器模型,即C/S架构。 首先,我们需要理解Socket的基本概念。Socket是一种进程间通信机制,允许运行在同一台机器或不同机器上...

    C语言基础面试题(08-网络编程).docx

    在IT领域,网络编程是至关重要的,特别是在C语言这样的底层编程语言中,它涉及到了操作系统、硬件和软件的交互。以下是一些与标题和描述相关的网络编程知识点: 1. **TCP三次握手与四次挥手**: - 三次握手:...

    01_Linux网络编程-网络基础-socket编程-高并发服务器1

    在Linux系统中,进行网络编程时通常会使用Socket API,它是跨平台的网络通信接口。通过创建Socket,应用程序可以建立到其他系统的连接,实现数据的收发。Socket编程涉及到网络套接字的创建、绑定、监听、连接和数据...

    LINUX 下UDP发送广播

    在Linux系统中,UDP(User Datagram Protocol)是一...综上所述,通过使用适当的命令行工具或编写C/C++程序,我们可以在Linux环境下实现UDP广播。理解这些基本概念和技巧对于进行网络编程和调试网络服务是至关重要的。

    Linux下的UDP广播系统编程示例

    根据提供的文件信息,本文将详细解析“Linux下的UDP广播系统编程示例”这一主题,包括对UDP广播在Linux环境下的实现原理、代码分析以及应用场景等内容。 ### 一、UDP广播概述 UDP(User Datagram Protocol)是一种...

    UDP局域网聊天室 C/S

    这个UDP局域网聊天室项目为初学者提供了很好的实践机会,可以帮助他们理解网络编程基础,特别是UDP协议的使用。同时,由于项目使用了C语言,也能够锻炼程序设计和内存管理的能力。通过阅读和分析源代码,学习者可以...

    01_Linux网络编程-网络基础-socket编程-高并发服务器.docx

    Linux网络编程是构建高效、高并发服务器的基础,其中的核心概念之一是socket编程。...无论是深入理解TCP/IP协议族的工作原理,还是灵活运用C/S和B/S模式,都是成为合格的Linux网络编程大师的关键。

    传智Linux网络编程.docx

    ### 传智Linux网络编程知识点概述 #### 一、网络编程基本概念 1. **协议的概念**:在计算机网络中,协议是指两台或多台计算机之间进行数据交换时所遵循的一套规则。从应用角度来看,协议可以理解为数据传输和解释的...

Global site tag (gtag.js) - Google Analytics