linux网络编程之socket(TCP)

本文介绍了Linux网络编程中的socket应用,特别是TCP协议的使用。通过实例展示了服务器端和客户端如何实现数据通信,客户端向服务器发送数据并接收回应。
摘要由CSDN通过智能技术生成

对于网络编程,有一种说法就是一切皆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
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值