六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 32|回复: 0

socket unix

[复制链接]

升级  0.65%

321

主题

321

主题

321

主题

探花

Rank: 6Rank: 6

积分
1013
 楼主| 发表于 2013-1-26 12:28:27 | 显示全部楼层 |阅读模式
unix本地的socket,会产生sock文件
root@ubuntu:~/test# cat testserver.c #include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/socket.h>#include <unistd.h>#include <sys/un.h>int main(){        int server_sockfd,client_sockfd;        int server_len,client_len;        struct sockaddr_un server_address;        struct sockaddr_un client_address;        unlink("server_socket");        server_sockfd=socket(AF_UNIX,SOCK_STREAM,0);        server_address.sun_family=AF_UNIX;        strcpy(server_address.sun_path,"server_socket");        server_len=sizeof(server_address);        bind(server_sockfd,(struct sockaddr *)&server_address,server_len);        listen(server_sockfd,5);        while(1){                char ch;                printf("server waiting\n");                client_len=sizeof(client_address);                client_sockfd=accept(server_sockfd,(struct sockaddr *)&server_address,server_len);                read(client_sockfd,&ch,1);                ch++;                write(client_sockfd,&ch,1);                close(client_sockfd);        }}root@ubuntu:~/test#

ls -lF server_socket

root@ubuntu:~/test# cat testclient.c #include <stdio.h>#include <stdlib.h>#include <sys/socket.h>#include <sys/types.h>#include <unistd.h>#include <sys/un.h>int main(){        int sockfd;        struct sockaddr_un address;        int len;        int result;        char ch='A';        sockfd=socket(AF_UNIX,SOCK_STREAM,0);        address.sun_family=AF_UNIX;        strcpy(address.sun_path,"server_socket");        len=sizeof(address);        result=connect(sockfd,(struct sockaddr *) &address,len);        if(result==-1){                perror("oops:client1");                exit(1);        }        write(sockfd,&ch,1);        read(sockfd,&ch,1);        printf("char from sever=%c\n",ch);        close(sockfd);        exit(0);}root@ubuntu:~/test#
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表