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

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);    

  

  }


 
分享到:
评论

相关推荐

    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编程之...

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

    通过UDP协议在CLIENT和SERVER间传文件,可支持多个CLIENT向一个SERVER请求数据,以及SERVER重启后的断点续传

    linux 系统编程 网络编程 源码

    aa.c chain hello.c pthread_attr.s pthread_create1.c pthread_rwlock aa.h cond pthread_attr pthread_cond pthread_create.c pthread_rwlock.c bping cond.c pthread_attr1.c pthread_cond.c pthread_mutex while...

    C/S多人聊天室

    本代码实现模拟扣扣聊天室。 开发环境 : Linux,vim,gcc,gdb等 项目简述 : 使用socket网络编程及多线程程序设计开发多人聊天室,实现多客户端登录,室内群聊及一对一私聊。

    Linux网络编程socket编程学习

    自学Linux网络编程关于socket的编写,包括 server.c 和 client.c 的编写;很详细的介绍了网络套接字socket的C/S模型TCP协议的服务器端和客户端的程序函数以及编写过程;重点介绍多路I/O转接服务器的实现,包括select...

    基于 C/S 架构的聊天室设计与实现(C++)

    本程序为基于 C/S 的网络聊天室系统,使用 Linux 网络编程作为服务器,使用 QT 编程作为客户端。 客户端通过输入 IP 地址、端口号、Email、聊天名称、聊天组号连接到服务器, 用户通过客户端发送消息,同时接收来自...

    linux 网络聊天室

    linux下的udp多进程编程,C/S 的聊天室,实现了聊天室和私聊的功能. 字符‘#’为获得在线人名,‘#to &lt;name&gt; &lt;data&gt; ’为私聊的格式

    linux网络编程学习笔记

    命令 netstat是用来显示网络的连接,路由表和接口统计等网络的信息.netstat有许多的 选项 我们常用的选项是 -an 用来显示详细的网络状态.至于其它的选项我们可以使用帮 助手册获得详细的情况. telnet telnet是一...

    基于Linux 的防火墙技术研究

    192.168.100.0/24/ s b in/ i p c h a i n s-A i n p u t-j D E N Y-i e c h1- d 192.168.100.0/24/sbin/ipchains-Aoutput-jDENY-iech1-s 192.168.100.0/...

    嵌入式Linux应用程序开发标准教程(第2版全)

    3.1.2 Linux下C语言编程环境概述 3.2 常用编辑器 3.2.1 进入vi 3.2.2 初探emacs 3.3 gcc编译器 3.3.1 gcc编译流程解析 3.3.2 gcc编译选项分析 3.4 gdb调试器 3.4.1 gdb使用流程 3.4.2 gdb基本命令 3.5 make工程管理...

    入门学习Linux常用必会60个命令实例详解doc/txt

    不过目前大多数较新的Linux发行版本(包括红旗 Linux、中软Linux、Mandrake Linux等)都可以自动挂装文件系统,但Red Hat Linux除外。 umount 1.作用 umount命令的作用是卸载一个文件系统,它的使用权限是超级...

    嵌入式Linux应用程序开发详解

    3.1.2 Linux下C语言编程环境概述 62 3.2 进入Vi 63 3.2.1 Vi的模式 63 3.2.2 Vi的基本流程 63 3.2.3 Vi的各模式功能键 65 3.3 初探Emacs 66 3.3.1 Emacs的基本操作 67 3.3.2 Emacs的编译概述...

    宋劲彬的嵌入式C语言一站式编程

    目录 历史 前言 I. C语言入门 1. 程序的基本概念 1. 程序和编程语言 2. 自然语言和形式语言 ...3. 在Linux C编程中使用Unicode和UTF-8 B. GNU Free Documentation License Version 1.3, 3 November 2008 参考书目 索引

    RED HAT LINUX 6大全

    第四部分为Linux编程;第五部分为附录。本书内容翔实、涉及领域广泛,并且提供了详细的例子和大量的参考资料(包括书籍、电子文档和Internet站点),是一本学习、使用和管理Linux不可多得的好书。 目 录 译者序 前言...

    TCP协议socke套接字(服务端&客户端)网络协议配置代码

    网络套接字(socket)编程,深入理解TCP、UDP协议;用select网络框架,写一个简单的C/S程序,可以正常运行。此代码是我用来记录学习网络套接字的过程,代码是在linux操作系统的vim界面下基于C++编写的,如果在VS或者...

    Linux环境下——C语言聊天室项目

    本课程设计主要实现一个Linux下的局域网聊天工具的设计。该设计主要分为两部分,客户端部分和主机部分。运行服务器端程序可以和...完成了一个可以运行在Linux平台下C/S架构的即时聊天系统,实现聊天的各种基本功能。

    实验三Socket通信实验报告.doc

    群组通信功能 组播编程需要UDP,有两个类支持组播网络编程Socket和UdpClient.一台计算机要加 入某一个组,然后接收发往这个组的信息。Socket类要调用SetSocketOption函数加入和 离开某一个组。UdpClient类有直接的...

    基于TCP的聊天系统

    1)Linux C编程工具:GCC和GDB  2)文件I/O操作 技术 3)文件属性及目录操作  4)终端控制与信号处理  5)进程控制  6)进程间通信  7)流式套接字编程  8)线程管理 9)数据库工具sqlite3 ●避免使用的特定...

    vc++ 开发实例源码包

    该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...

Global site tag (gtag.js) - Google Analytics