首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于PXA270嵌入式系统的Socket通信设计
来源:本站整理  作者:佚名  2009-05-18 16:06:08




3.1  客户端程序设计
    客户端可以向服务器端发送连接请求,并且客户端也可以接收到来自服务器端发送回来的数据。客户端可以判断当前自己的工作状态,如连接的建立,启动的成功和数据包通信的个数等。客户端程序设计主要按以下的步骤完成函数的调用:
    ①建立自己的Socket(并验证建立成功);
    ②启动连接(并验证建立成功);
    ③返回连接信息;
    ④接收收到的数据;
    ⑤判断数据的属性。
    客户端程序设计的程序基本流程如图3所示。

图3  客户端程序简单示意图
    客户端打开通信通道,并连接到服务器所在主机的特定端口,向服务器发送请求报文,等待并接收应答,请求结束后关闭通信通道并终止通信。客户端主要程序如下:
    Int main(int argc,char *argv[])
    if(argc!=3)
    printf("error!!!please enter the remote IP and PORT please!!! the form like 192.168.0.* 4000\n");                           
    mysocket=socket(AF_INET,SOCK_STREAM,0);    //建立一个套接字
    if(mysocket==-1)
    printf("error!!! failed to created the new socket,program end here\n");
    printf("OK-- you have successful created a socket named mysocket\n");
    return(0);         //socket 建立不成功,回初始位置
    connectcheck=connect(mysocket,(struct sockaddr*)&addr_remote,sizeof(struct sockaddr));
    //调用connect函数连接服务器端
    if(connectcheck==-1)
    printf("error!!!sorry you have failed to connect the remote server!!try again !program end here\n");
   // connect不成功回初始位置
    printf("OK-- Now you have successful connect the server,this server IP =%s,and it's PORT =%s,now you can communicat with this server!!!!!!!\n ",argv[1],argv[2])
    //打印服务器IP地址和端口号
    while(1)
    bzero(gotbuffer,long);
    number=recv(mysocket,gotbuffer,long,0);       
    //调用阻塞函数
    if(number==-1)
    printf("error!!! some thing wrong !let you can not got the data form server,program end here\n");
    return(0);
    gotbuffer[number]='\0';  
    close(mysocket);          
3.2  服务器端程序设计
    服务器端可以快速的做出客户端的连接请求反映,服务器端反映来自客户端的连接参数,如连接的IP、连接时间、连接的当前状态等。服务器启动后根据请求提供以下服务:
    ①打开通信通道并告知本地主机,在某一公认地址上接收客户请求;
    ②等待客户请求到达该端口;
    ③接收到重复服务请求,处理该请求并发送应答信号;
    ④返回第二步,等待另一客户请求;
    ⑤关闭服务器。
    服务器端程序设计的流程如图4所示。

上一页  [1] [2] [3] [4] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:45,312.50000 毫秒