TCP循环服务器 代码tcpser
来源:互联网 发布:身份证假软件下载 编辑:程序博客网 时间:2024/06/05 19:39
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#define PORT 1234
int main()
{
int sockfd, newfd;
struct sockaddr_in serv_addr;
struct sockaddr_in cli_addr;
char buf[1024];
int len;
int new_size;
//1.socket
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
printf("sock error!\n");
exit(1);
}
//2.bind
bzero(&serv_addr,sizeof(struct sockaddr_in)); // 初始化,置0
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = inet_addr("192.168.1.229");
serv_addr.sin_port = htons(PORT);
if((bind(sockfd,(struct sockaddr *)&serv_addr, sizeof(struct sockaddr)))== -1)
{
printf("bind error!\n");
exit(1);
}
//3.lisetn
if((listen(sockfd, 5)) == -1)
{
printf("listrn error!\n");
exit(1);
}
//4.accept
while(1)
{
new_size = sizeof(struct sockaddr);
if((newfd = accept(sockfd,(struct sockaddr *)&cli_addr, &new_size )) == -1)
{
printf("accept error!\n");
exit(1);
}
//5.read
len = read(newfd, buf,1024);
if(len < 0)
{
printf("read error!\n");
exit(1);
}
buf[len] = '\0';
printf("serv recv is : %s\n", buf);
//6.close
close(newfd);
}
close(sockfd);
return 0;
}
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#define PORT 1234
int main()
{
int sockfd, newfd;
struct sockaddr_in serv_addr;
struct sockaddr_in cli_addr;
char buf[1024];
int len;
int new_size;
//1.socket
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
printf("sock error!\n");
exit(1);
}
//2.bind
bzero(&serv_addr,sizeof(struct sockaddr_in)); // 初始化,置0
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = inet_addr("192.168.1.229");
serv_addr.sin_port = htons(PORT);
if((bind(sockfd,(struct sockaddr *)&serv_addr, sizeof(struct sockaddr)))== -1)
{
printf("bind error!\n");
exit(1);
}
//3.lisetn
if((listen(sockfd, 5)) == -1)
{
printf("listrn error!\n");
exit(1);
}
//4.accept
while(1)
{
new_size = sizeof(struct sockaddr);
if((newfd = accept(sockfd,(struct sockaddr *)&cli_addr, &new_size )) == -1)
{
printf("accept error!\n");
exit(1);
}
//5.read
len = read(newfd, buf,1024);
if(len < 0)
{
printf("read error!\n");
exit(1);
}
buf[len] = '\0';
printf("serv recv is : %s\n", buf);
//6.close
close(newfd);
}
close(sockfd);
return 0;
}
0 0
- TCP循环服务器 代码tcpser
- 简单TCP 循环服务器
- TCP循环服务器 UDP循环服务器 TCP并发服务器
- c#tcp服务器代码实例
- linux-TCP简单服务器代码
- 我的tcp服务器段的代码
- LINUXC--TCP的客户端/服务器代码
- 简单的多线程的TCP服务器代码
- windows tcp服务器代码,多线程+select
- c#TCP多线程服务器实例代码
- c#tcp多线程服务器实例代码
- PYTHON中TCP服务器代码的编写。
- Windows下的网络编程(tcp循环并发服务器)
- 简单的TCP 流式socket 服务器和客户端代码示例
- 一个很基础的tcp客户端和服务器代码。
- MFC网络编程TCP/IP的服务器与客户端代码
- Java TCP通信(服务器和客户端代码)
- Linux下TCP客户端和服务器代码编写
- 关于OC中的Block使用以及ARC和MAR下的内存管理方式
- Swift3.0-KVC构造函数与基本数据类型
- 用KAOS进行目标建模
- Android中的IPC方式
- 常见Python运行时报错整理
- TCP循环服务器 代码tcpser
- python笔记(十一)
- jquery插入元素的几种方法 insertBefore() insertAfter() prependTo() appendTo()
- centos6.5部署owncloud(私有云)
- ThreadLocal 和 Thread同步机制的比较
- 链表逆序
- C++的string与属性封装
- Python3 基础:高阶函数和map/reduce
- c++的引用&