tcp实现回射服务器
来源:互联网 发布:网络教育和业余哪个好 编辑:程序博客网 时间:2024/05/21 14:00
linux下的tcp套接字实现的回射服务器,也就是客户发送一段,服务器把这段返回给客户。
客户端
#include <iostream>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#define SERV_PORT 5566#define CLIENT_PORT 5567#define MAX_MESG_SIZE 1024using namespace std;int main(){ int sockfd; struct sockaddr_in servaddr; bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(SERV_PORT); inet_aton("127.0.0.1", &servaddr.sin_addr); if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { printf("socket error"); return -1; } if((connect(sockfd, (struct sockaddr*)&servaddr, sizeof(servaddr)))<0) { printf("connect error!\n"); return -1; } char sendbuff[MAX_MESG_SIZE]; char recvbuf[MAX_MESG_SIZE]; while(fgets(sendbuff, MAX_MESG_SIZE, stdin) != NULL) { int n; send(sockfd, sendbuff, strlen(sendbuff), 0); if((n = recv(sockfd, recvbuf, MAX_MESG_SIZE, 0))>0) { recvbuf[n] = 0; fputs(recvbuf, stdout); } } return 0;}
服务端:
#include <iostream>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#define SERV_PORT 5566#define MAX_MESG_SIZE 1024using namespace std;void my_echo(int connectfd);int main(){ int sockfd; int connectfd; pid_t childpid; struct sockaddr_in servaddr; bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(SERV_PORT); servaddr.sin_addr.s_addr = htonl(INADDR_ANY); if((sockfd = socket(AF_INET, SOCK_STREAM, 0))<0) { printf("socket error!\n"); return -1; } if((bind(sockfd, (struct sockaddr*)&servaddr, sizeof(servaddr)))<0) { printf("bind error!\n"); return -1; } if(listen(sockfd, 5) < 0) { printf("listen error!\n"); return -1; } while(1) { connectfd = accept(sockfd, NULL, NULL); if((childpid = fork()) == 0) { close(sockfd); my_echo(connectfd); return 0; } close(connectfd); } return 0;}void my_echo(int connectfd){ ssize_t n; char buff[MAX_MESG_SIZE]; while((n = recv(connectfd, buff, MAX_MESG_SIZE, 0)) > 0) send(connectfd, buff, n, 0); if(n < 0) printf("read error!\n");}
- tcp实现回射服务器
- TCP 回射服务器
- TCP回射服务器
- 实现TCP服务器
- VC++实现TCP服务器
- 进程实现tcp服务器
- 线程实现tcp服务器
- python实现tcp服务器
- 服务器编程入门(10)TCP回射服务器实现 - 并发
- select 实现 tcp echo 服务器
- 套接字实现Tcp服务器
- 【网络】TCP服务器的实现
- 套接字实现TCP服务器
- 第九章 TCP和UDP同时用复用一个端口实现一个回射服务器
- 33-基于 TCP 的回射服务器
- 服务器编程入门(11)TCP并发回射服务器实现 - 单线程select实现
- UNIX TCP回射服务器/客户端(5):多线程服务器
- WinSock初学入门:实现TCP服务器
- hdu 1874 畅通工程续
- LayoutInflater作用及使用
- Python线程指南
- web服务器的实现
- 恢复之还原归档重做日志
- tcp实现回射服务器
- Android中进程的生命周期是什么?
- Android基础类之BaseAdapter
- 2011-2012 年终总结
- shopex本地安装环境-phpnow环境配置 超级简单!
- 系统框图
- WPF学习一:命令
- MFC下WM_NOTIFY消息处理流程
- 杂记