arpa/inet.h所引起的Segmentation fault及网络编程常见的头文件

  最近在学习Linux网络编程方面的知识,感觉还是有些困难。主要是对协议过程的理解,还有socket的API的理解不够深刻。今天复习编写了一个TCP的服务端和客户端的程序实现client.c从命令行参数中获得一个字符串发给服务器,然后接收服务器返回的已处理的字符串并打印。    server.c 1 #include <stdio.h> ...
摘要由CSDN通过智能技术生成

  最近在学习Linux网络编程方面的知识,感觉还是有些困难。主要是对协议过程的理解,还有socket的API的理解不够深刻。今天复习编写了一个TCP的服务端和客户端的程序实现client.c从命令行参数中获得一个字符串发给服务器,然后接收服务器返回的已处理的字符串并打印。

  

  server.c

 1 #include <stdio.h>                                                                                                                  
 2 #include <stdlib.h>                                                                                                                 
 3 #include <string.h>                                                                                                                 
 4 #include <unistd.h>                                                                                                                 
 5 #include <sys/socket.h>                                                                                                             
 6 #include <netinet/in.h>                                                                                                             
 7 #include <arpa/inet.h>                                                                                                            
 8                                                                                                                                     
 9 #define MAXLINE 80                                                                                                                  
10 #define SERV_PORT 8000                                                                                                              
11                                                                                                                                     
12 int main(void)                                                                                                                      
13 {                                                                                                                                   
14     struct sockaddr_in servaddr,cliaddr;   //IPV4的地址结构                                                                               
15     socklen_t cliaddr_len;                                                                                                            
16     int listenfd,connfd;                                                                                                              
17     char buf[MAXLINE];                                                                                                                
18     char str[INET_ADDRSTRLEN];                                                                                                        
19     int i,n;                                                                                                                          
20                                                                                                                                       
21     if(-1 == (listenfd =  socket(AF_INET,SOCK_STREAM,0)))   //对于IPV4的family的参数为AF_INET for TCP SOCK_STREAM 表示面向流的传输协议
22     {                                                                                                                                 
23         perror("socket Error");                                                           
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值