tcp 通信 服务器端
来源:互联网 发布:缤特力升级软件 编辑:程序博客网 时间:2024/06/05 18:43
/*socket tcp服务器端*/
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#define SERVER_PORT 5555
int main()
{
int serverSocket;
struct sockaddr_in server_addr;
struct sockaddr_in clientAddr;
int addr_len = sizeof(clientAddr);
int client;
char buffer[200];
int iDataNum;
if((serverSocket = socket(AF_INET, SOCK_STREAM, 0)) < 0)
{
perror("socket");
return 1;
}
bzero(&server_addr, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(SERVER_PORT);
server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
if(bind(serverSocket, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0)
{
perror("connect");
return 1;
}
if(listen(serverSocket, 5) < 0)
{
perror("listen");
return 1;
}
while(1)
{
printf("Listening on port: %d\n", SERVER_PORT);
client = accept(serverSocket, (struct sockaddr*)&clientAddr, (socklen_t*)&addr_len);
if(client < 0)
{
perror("accept");
continue;
}
printf("\nrecv client data...n");
printf("IP is %s\n", inet_ntoa(clientAddr.sin_addr));
printf("Port is %d\n", htons(clientAddr.sin_port));
while(1)
{
iDataNum = recv(client, buffer, 1024, 0);
if(iDataNum < 0)
{
perror("recv");
continue;
}
buffer[iDataNum] = '\0';
if(strcmp(buffer, "quit") == 0)
break;
printf("%drecv data is %s\n", iDataNum, buffer);
send(client, buffer, iDataNum, 0);
}
}
return 0;
}
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#define SERVER_PORT 5555
int main()
{
int serverSocket;
struct sockaddr_in server_addr;
struct sockaddr_in clientAddr;
int addr_len = sizeof(clientAddr);
int client;
char buffer[200];
int iDataNum;
if((serverSocket = socket(AF_INET, SOCK_STREAM, 0)) < 0)
{
perror("socket");
return 1;
}
bzero(&server_addr, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(SERVER_PORT);
server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
if(bind(serverSocket, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0)
{
perror("connect");
return 1;
}
if(listen(serverSocket, 5) < 0)
{
perror("listen");
return 1;
}
while(1)
{
printf("Listening on port: %d\n", SERVER_PORT);
client = accept(serverSocket, (struct sockaddr*)&clientAddr, (socklen_t*)&addr_len);
if(client < 0)
{
perror("accept");
continue;
}
printf("\nrecv client data...n");
printf("IP is %s\n", inet_ntoa(clientAddr.sin_addr));
printf("Port is %d\n", htons(clientAddr.sin_port));
while(1)
{
iDataNum = recv(client, buffer, 1024, 0);
if(iDataNum < 0)
{
perror("recv");
continue;
}
buffer[iDataNum] = '\0';
if(strcmp(buffer, "quit") == 0)
break;
printf("%drecv data is %s\n", iDataNum, buffer);
send(client, buffer, iDataNum, 0);
}
}
return 0;
}
阅读全文
0 0
- tcp 通信 服务器端
- 网络程序设计--TCP通信(服务器端)
- Qt TCP通信,多线程服务器端
- TCP网络通信服务器端简单示例
- 【Linux】TCP 客户端与服务器端通信
- Python TCP客户端和服务器端通信
- TCP通信中,服务器端实现方式(SELECT)
- TCP通信中,服务器端实现方式(SELECT)
- java 客户端与c++服务器端tcp通信 demo
- 【TCP通信】多客户端连接一个服务器端总结
- 网络基础学习笔记一------TCP通信之服务器端
- 【TCP通信】多客户端连接一个服务器端总结
- 基于TCP的客户端与服务器端之间的通信
- C++ 简单的 Tcp 实现[socket] 服务器端与客户端通信
- TCP服务器端
- Linux socket编程入门及客户端服务器端通信实现 – 提高篇:TCP连接过程分析
- 【Java Socket】入门系列 3.2.编程实现基于 TCP 的 Socket 通信 — 服务器端和客户端
- Android与服务器端通信方式(一)之HTTP、TCP、Socket
- (转)你事业的上限究竟在哪里?《哈佛商业评论》史上最佳文章
- hdu2027 统计元音(C语言)
- [二分图匹配] [NOI2009] BZOJ 1562——序列变换
- HDU 6040& 2017年多校训练第一场 1008题
- 一年经验Java程序员面试经
- tcp 通信 服务器端
- 那一战
- SHA1
- HDU 1556 Color the ball(线段树|树状数组)
- Maximum Product
- Ubuntu16.04下安装最新版本的CMake
- echarts颜色渐变
- Spark 内存管理
- java基础—java获取图片的大小和尺寸(本地& 服务器)