对于网络编程,有一种说法就是一切皆socket。
之前只是大概了解socket网络编程的流程,最近学习了一下如何进行socket网络编程,实现TCP通信。
下面是服务器端的例子:
/*socket网络编程学习
服务器端:一直监听本机的8000端口,如果收到连接请求,将接收请求并接受客户端发来的信息,并向客户端返回消息。
这个程序实现的是TCP并发服务器。
并发服务器的思想是每一个客户机的请求并不由服务器直接处理,而是由服务器创建一个子进程来处理。
2016-4-5
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#define MAXLINE 4096
#define DEFAULT_PORT 8000
int main()
{
int socket_fd,connect_fd;
struct sockaddr_in servaddr; //用于记录网络地址
char buff[4096];
int n;
//初始化
memset(&servaddr ,0 ,sizeof(servaddr)); //结构体置零
servaddr.sin_family=AF_INET; //AF_INET表示IP协议族
servaddr.sin_addr.s_addr=htonl(INADDR_ANY); //IP地址设置为INADDR_ANY,让系统自动获取本机的IP地址。
servaddr.sin_port = htons(DEFAULT_PORT); //设置的端口为DEFAULT_PORT
//初始化sock