TPC/IP网络编程(1)

C语言对文件操作

1.打开文件

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
//path: 文件名的字符串地址
//flag: 文件打开模式信息
int open(const char *path, int flag);

成功返回文件描述符,失败返回-1。
flag参数具体见表:

2.关闭文件

#include <unistd.h>
//需要关闭的文件(或套接字)的文件描述符
int close(int fd);

成功返回0,失败返回-1。

3.将数据写入文件

#include <unistd.h>
//fd:数据传输的文件描述符
//buf:要传输的数据的缓冲地址
//nbytes:要传输的数据的字节数
ssize_t write(int fd, const void *buf, size_t nbytes);

成功返回写入的字节数,失败返回-1。

此函数定义中, size_t是通过typedef声明的unsigned int类型。对ssize_t来说, size_t前面多加的s代表signed,即ssize_t是通过typedef声明的signed int类型。
4.读取文件数据
与前面的write对应。

#include <unistd.h>
//fd:数据传输的文件描述符
//buf:要保存接收数据的缓冲地址
//nbytes:要读入的数据的字节数
ssize_t read(int fd, void *buf, size_t nbytes);

成功返回读入的字节数(遇到文件结尾返回0),失败返回-1。

网络编程步骤

服务器端步骤

client端步骤

常用默认调用函数

1.调用socket函数创建

#include <sys/socket.h>
int socket(int domain, int type, int protocol);

成功返回文件描述符,失败返回-1。
2.调用bind函数为socket分配IP地址和端口号

int bind(int sockfd, struct sockaddr *myaddr, socklen_t addrlen);

成功返回0,失败返回-1。
3.调用listen函数使socket转为可接受连接的状态。

int listen(int sockfd, int backlog);

成功返回0,失败返回-1。
4.调用accept函数受理连接请求

int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

套接字的创建

linux下创建套接字socket

1.创建TCP套接字

#include <sys/socket.h>
int tcp_socket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);

2.创建UDP套接字

#include <sys/socket.h>
int tcp_socket = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);

windows下创建套接字socket

windows下socket套接字的创建函数与linux下的函数,其函数名和参数名都相同,只是返回值类型不同。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值