首页 > 其他 > 详细

项目报告140303(补):连接建立

时间:2014-03-07 14:17:31      阅读:413      评论:0      收藏:0      [点我收藏+]

第一部分功能,client和server的连接已经成功建立,可以正常传输数据,server端可识别message数据包

client端代码:

bubuko.com,布布扣
 1 #include <stdio.h>
 2 #include <string.h>
 3 #include <sys/types.h>
 4 #include <sys/socket.h>
 5 #include <arpa/inet.h>
 6 #include "message.h"
 7 #include "client.h"
 8 
 9 int main(int argc,char **argv)
10 {
11     int sockfd,n;
12     char recvline[MAX_LINE+1];
13     
14     struct sockaddr_in servaddr;
15     if(argc!=2)
16     {
17     printf("usage:a.out<IPaddress>");
18     return 0;
19     }
20     if((sockfd=socket(AF_INET,SOCK_STREAM,0))<0)
21     {
22     printf("socket error");
23     return 0;
24     }
25     bzero(&servaddr,sizeof(servaddr));
26     servaddr.sin_family=AF_INET;
27     servaddr.sin_port=htons(13);
28     if(inet_pton(AF_INET,argv[1],&servaddr.sin_addr)<=0)
29     {
30     printf("inet_pton error for%s",argv[1]);
31     return 0;
32     }    
33     if(connect(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr))<0)
34     {
35     printf("connect error");
36     return 0;
37     }
38 
39     while((n=read(sockfd,recvline,MAX_LINE))>0)
40     {
41     recvline[n]=0;
42     if(fputs(recvline,stdout)==EOF)
43     {
44         printf("fputs error");
45         return 0;
46     }
47     }
48     if(n<0)
49     {
50     printf("read error");
51     return 0;
52     }
53     return 0;
54 }
View Code


server端代码:

bubuko.com,布布扣
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <time.h>
#include "message.h"

#define MAX_LINE 1000
#define LISTENQ 5

int main(int argc,char **argv)
{
    int listenfd,connfd;
    struct sockaddr_in servaddr;
    char buff[MAX_LINE];
    time_t ticks;

    listenfd=socket(AF_INET,SOCK_STREAM,0);

    bzero(&servaddr,sizeof(servaddr));
    servaddr.sin_family=AF_INET;
    servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
    servaddr.sin_port=htons(13);

    bind(listenfd,(struct sockaddr *)&servaddr,sizeof(servaddr));

    listen(listenfd,LISTENQ);

    int n,i;

    Message package,aim;
    for(;;)
    {
    connfd=accept(listenfd,(struct sockaddr *)NULL,NULL);


    printf("HERE COMES THE TIME!\n");

    ticks=time(NULL);
    snprintf(buff,sizeof(buff),"%.24s\r\n",ctime(&ticks));
    write(connfd,buff,strlen(buff));

    close(connfd);
    }
}
bubuko.com,布布扣

连接部分代码来自于 unix网络编程 ,时间功能是其本身的例子,暂时保留中……

项目报告140303(补):连接建立,布布扣,bubuko.com

项目报告140303(补):连接建立

原文:http://www.cnblogs.com/keepcalmandcarryon/p/3584940.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!