客户间通信socket编程函数总结---------Client端函数集合

客户端:

sfd=socket(AF_INET,SOCK_STREAM,0)

socket(

              int domain: AF_INET  、 AF_INET6

              int type:         SOCK_STREAM  、 SOCK_DGRAM

              int protocol:  0

             )

成功:返回fd        失败:-1

********************************************************************************

struct sockaddr{

                           sa_family_t sa_family:  AF_INET  、 AF_INET6

                           char  sa_data[14]: IP地址[4]+端口号[2]+保留位[8]

                          }

struct sockaddr_in{

                                 sa_family_t sa_family:  AF_INET  、 AF_INET6

                                 in_port_t    sin_port:       端口号

                                 struct in_addr sin_addr: IP地址

                                 unsigned char sin_zero[8]:保留位

                               }

IP地址结构体:

struct in_addr{

                        in_addr_t s_addr:  inet_addr(argv[1])

                       }

********************************************************************************

ret=connect(sfd,(struct sockaddr*)&saddr,sizeof(saddr) )

connect(

               int sockfd: fd

               const struct sockaddr* addr:  &saddr

               socklen_t addrlen: sizeof(saddr)

              )

失败:返回值小于0

********************************************************************************

pthread_create( &pid, NULL, sndmsg, (void*)sfd )

pthread_create(

                              pthread_t * thread :&pid

                              const pthread_attr_t *attr: NULL   (线程属性,取默认值)

                               void*(*start_routine) (void*): getmsd  、 sndmsg     (线程函数名)

                               void *arg: (void*)fd          (线程函数传参)

                         )

********************************************************************************

read(fd,buf,sizeof(buf))

********************************************************************************

printf("Please input  message:")

********************************************************************************

fgets(buf,sizeof(buf),stdin)

********************************************************************************

write(fd,buf,strlen(buf))

********************************************************************************

fflush(stdout)

********************************************************************************

memset(buf,0,sizeof(buf))

********************************************************************************

inet_addr("192.168.1.111")

********************************************************************************

strlen(buf)      检索,直到遇到'\0'停止,返回检索个数

********************************************************************************

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值