简单TCP服务端和客户端
2015-01-09 13:41
387 查看
服务端代码:
客户端代码:
#include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <sys/errno.h> int main(int argc, char *argv[]) { int sockfd; struct sockaddr_in my_addr, clt_addr; if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { perror("socket"); return -1; } my_addr.sin_family = AF_INET; my_addr.sin_port = htons(atoi(argv[2])); inet_pton(AF_INET, argv[1], &my_addr.sin_addr); if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(my_addr)) < 0) { perror("bind"); return -1; } listen(sockfd, 5); int cltfd; socklen_t addr_len; while (cltfd = accept(sockfd, (struct sockaddr *)&clt_addr, &addr_len)) { char *p = "hello client"; write(cltfd, p, strlen(p) + 1); close(cltfd); } close(sockfd); return 0; }
客户端代码:
#include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <string.h> int main(int argc, char *argv[]) { int sockfd; struct sockaddr_in my_addr, srv_addr; if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { perror("socket"); return -1; } /* bzero(&my_addr, sizeof(my_addr)); my_addr.sin_family = AF_INET; my_addr.sin_port = htons(atoi(argv[4])); inet_pton(AF_INET, argv[3], &srv_addr.sin_addr); //客户端可以调用bind,指定端口 if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(my_addr)) < 0) { perror("bind"); return -1; } */ bzero(&srv_addr, sizeof(srv_addr)); srv_addr.sin_family = AF_INET; srv_addr.sin_port = htons(atoi(argv[2])); inet_pton(AF_INET, argv[1], &srv_addr.sin_addr); if (connect(sockfd, (struct sockaddr *)&srv_addr, sizeof(srv_addr)) < 0) { perror("connect"); return -1; } int len = 0; char buffer[1500]; while ((len = read(sockfd, buffer, sizeof(buffer))) > 0) { buffer[len-1] = '\0'; printf("%s\n", buffer); } close(sockfd); return 0; }
相关文章推荐
- 一个简单的TCP客户端、服务端会话程序(C#)
- 一个简单的TCP客户端、服务端会话程序(C#)
- 基于TCP通信的简单服务端和客户端程序
- UDP 与 TCP的连接简单例子(服务端/客户端) VC
- Go实战--实现一个简单的tcp服务端和客户端(The way to go)
- 【socket编程】 一个简单的基于TCP连接的客户端、服务端用例
- 基于Python的TCP服务端/客户端简单应用示例
- 01 TCP Socket 编程_一个简单的服务端程序和客户端程序实现
- linux网络编程之用socket实现简单客户端和服务端的通信(基于TCP)
- 基于TCP实现简单的客户端服务端的消息传递(二)
- TCP 客户端和服务端交互简单例子
- 一个简单的TCP/IP服务端客户端对话
- Android网络编程之TCP通信----简单客户端与服务端通信
- linux下一个简单的TCP通信程序——客户端向服务端发送任意字符串
- linux网络编程之用socket实现简单客户端和服务端的通信(基于TCP)
- 通过TCP实现客户端服务端简单链接案例
- C# TCP 服务端(PC)与客户端(PPC) 简单代码
- Java简单实现TCP服务端和客户端通信
- [Java]命令行模拟TCP客户端与服务端的简单小程序遇到的问题(基础不牢!扎实和亲手实践比什么都重要!)
- 基于TCP实现简单的客户端服务端的消息传递