Linux C Socket编程原理及简单实例
2017-05-30 20:21
639 查看
原文:http://www.cnblogs.com/xudong-bupt/archive/2013/12/29/3483059.html
部分转自:http://goodcandle.cnblogs.com/archive/2005/12/10/294652.aspx
1. 什么是TCP/IP、UDP?
2. Socket在哪里呢?
3. Socket是什么呢?
4. 有很多的框架,为什么还在从Socket开始?
5. Linux C Socket简单示例
1.什么是TCP/IP、UDP?
TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。
UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。
下面的图表明了这些协议的关系。
执行:
客户端
服务器端
部分转自:http://goodcandle.cnblogs.com/archive/2005/12/10/294652.aspx
1. 什么是TCP/IP、UDP?
2. Socket在哪里呢?
3. Socket是什么呢?
4. 有很多的框架,为什么还在从Socket开始?
5. Linux C Socket简单示例
1.什么是TCP/IP、UDP?
TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。
UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。
下面的图表明了这些协议的关系。
1 #include <sys/types.h> 2 #include <sys/socket.h> 3 #include <stdio.h> 4 #include <netinet/in.h> 5 #include <arpa/inet.h> 6 #include <unistd.h> 7 #include <string.h> 8 #include <stdlib.h> 9 #include <fcntl.h> 10 #include <sys/shm.h> 11 12 #define MYPORT 8887 13 #define BUFFER_SIZE 1024 14 15 int main() 16 { 17 ///定义sockfd 18 int sock_cli = socket(AF_INET,SOCK_STREAM, 0); 19 20 ///定义sockaddr_in 21 struct sockaddr_in servaddr; 22 memset(&servaddr, 0, sizeof(servaddr)); 23 servaddr.sin_family = AF_INET; 24 servaddr.sin_port = htons(MYPORT); ///服务器端口 25 servaddr.sin_addr.s_addr = inet_addr("127.0.0.1"); ///服务器ip 26 27 ///连接服务器,成功返回0,错误返回-1 28 if (connect(sock_cli, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0) 29 { 30 perror("connect"); 31 exit(1); 32 } 33 34 char sendbuf[BUFFER_SIZE]; 35 char recvbuf[BUFFER_SIZE]; 36 while (fgets(sendbuf, sizeof(sendbuf), stdin) != NULL) 37 { 38 send(sock_cli, sendbuf, strlen(sendbuf),0); ///发送 39 if(strcmp(sendbuf,"exit\n")==0) 40 break; 41 recv(sock_cli, recvbuf, sizeof(recvbuf),0); ///接收 42 fputs(recvbuf, stdout); 43 44 memset(sendbuf, 0, sizeof(sendbuf)); 45 memset(recvbuf, 0, sizeof(recvbuf)); 46 } 47 48 close(sock_cli); 49 return 0; 50 }
执行:
客户端
服务器端
相关文章推荐
- Linux C Socket编程原理及简单实例
- Linux C Socket编程原理及简单实例
- Linux C Socket编程原理及简单实例
- Linux C Socket编程原理及简单实例
- Linux C Socket编程原理及简单实例
- Linux C Socket编程原理及简单实例
- Linux C Socket编程原理及简单实例
- Linux C Socket编程原理及简单实例
- Linux C Socket编程原理及简单实例
- Linux C Socket编程原理及tcp, udp简单实例
- Linux C Socket编程原理及简单实例
- Linux C Socket编程原理及简单实例
- Linux C Socket编程原理及简单实例
- Linux C Socket编程原理及简单实例
- Linux C Socket编程原理及简单实例
- Linux C Socket编程原理及简单实例
- Linux的简单的socket网络编程实例
- Linux C Socket编程原理及简单实例
- Linux下socket编程的简单实例
- socket编程的最简单实例 - linux系统编程及驱动开发 - 小超嵌入式工作室 嵌入式开发学习交流论坛 XC-STC XC2440技术支持 - Powered by Discuz!