TC/UDPP网络编程

练习:文件传输的功能

首先一个函数

int ftruncate(int fd,off_t length)

功能:将fd指定的文件大小改为参数length指定大小

注:fd必须是以写入的模式打开。

参数:fd             为已经打开文件的文件描述符

length     为文件指定大小

返回值:成功返回0,失败返回-1.

client 传文件给 server

typedef struct

{

int size;r buf[1024];

cha

}MSG;

客户端:

第一次 发送文件名,文件大小

MSG msg;

msg.size = file_size;

strcpy(msg.buf, "文件名");

send(sockfd,&msg,sizeof(MSG))

下一次 发送数据

msg.size = read(fd,msg.buf,sizeof(msg.buf));

send(sockfd,&msg,sizeof(MSG))

UDP收发数据函数

ssize_t recvfrom(int sockfd,void *buf,size_t len,int flags,struct sockaddr *src_addr,socklen_t *addrlen)

功能:接收数据

参数:

sockfd 创建的套接字

buf    接收数据存放的地址

len 期望接收数据的大小

flags  0

src_addr 获得发送方的地址

addrlen 值结果参数(使用之前必须初始化,初始化的大小就是struct sockaddr 大小)

返回值:

成功返回接到到的字节数,失败返回-1

ssize_t  sendto(int sockfd,void *buf,size_t len,int flags,const struct sockaddr *dest_addr,socklen_t addrlen )

功能:发送数据

参数:

sockfd 得到的套接字

buf    发送的数据存放的地址

len 期望发送数据的大小

flags  0

dest_addr 目标主机的地址

addrlen 地址的大小(sockaddr 结构体大小)

返回值:成功返回接收到的套接字,失败返回-1

时间: 2024-10-18 16:13:59

TC/UDPP网络编程的相关文章

java中的网络编程基本回顾

网络编程基本概念,TCP/IP协议简介 网络基础知识 网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯.网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输.在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机.而TCP层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的. 目前较为流行的网络编程

网络编程技术

                                                     网络编程技术 Java 网络编程 网络基础知识 网络编程的目的:直接或间接地通过网络协议与其他计算机进行通讯. 网络编程中有两个主要的问题: 1.如何准确地定位网络上一台或多台主机. 2.找到主机后如何可靠高效地进行数据传输. 目前较为流行的网络编程模型是客户端/服务器(C/S)结构. 即通信双方一方作为服务器等待客户提出请求并予以相应.客户则在需要服务时向服务器提出申请. 服务器始终运行,

Java基础之网络编程

Java网络编程 课前思考1. 什么是TCP/IP协议?2. TCP/IP有哪两种传输协议,各有什么特点?3. 什么是URL?4. URL和IP地址有什么样的关系?5. 什么叫套接字(Socket)?6. 套接字(Socket)和TCP/IP协议的关系?7. URL和套接字(Socket)的关系?8.1 网络编程基本概念,TCP/IP协议简介 8.1.1 网络基础知识      网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯.网络编程中有两个主要的问题,一个是如何准确的定位网络

java_socket套接字网络编程_实现多线程聊天

java编程_socket_套接字_网络编程_简易的GUI多线程聊天程序 运行效果: =============================================================== 服务器端代码: 1 package com.b510.socket1706.gui.freeechatroom; 2 3 import java.io.*; 4 import java.net.*; 5 import java.awt.*; 6 import java.awt.even

Socket网络编程进阶与实战

第1章 课程导学(Java语言教学)[说明:课程案例部分以Java语言实现]本章节首先会对课程进行导学讲解,包括为什么应该学习本课程,课程目标与收获,课程内容安排,适合人群和学习建议等,接着会讲解代码规范与开发注意事项,目的全在于希望极大的方便同学进行本课程的学习.... 第2章 Socket网络编程快速入门本章首先整体介绍什么是Socket网络编程:让大家对Socket有个大概的概念与方向.之后通过几个小Case引出课程的主角,轻松愉快的让你体验到Socket编程的快感.本章节主要收获:1.

C#网络编程技术FastSocket实战项目演练

一.FastSocket课程介绍 .NET框架虽然微软提供了socket通信的类库,但是还有很多事情要自己处理,比如TCP协议需要处理分包.组包.粘包.维护连接列表等,UDP协议需要处理丢包.乱序,而且对于多连接并发,还要自己处理多线程等等.本期分享课程阿笨给大家带来的是来源于github开源Socket通信中间件:FastSocket,目的就是把大家从繁琐的网络编程技术中彻底地解放和释放出来. 阿笨只想安安静静的学习下网络编程技术Socket后,将学习的成果直接灵活的运用到自己的实际项目中去.

网络编程 -- RPC实现原理 -- RPC -- 迭代版本V1 -- 本地方法调用

网络编程 -- RPC实现原理 -- 目录 啦啦啦 V2--RPC -- 本地方法调用:不通过网络 入门 1. RPCObjectProxy rpcObjectProxy = new RPCObjectProxy(new LocalRPCClient()); : 绑定目标对象 2. IUserService userService = (IUserService) rpcObjectProxy.create(IUserService.class); :返回代理类 3. List<User> u

C#网络程序设计(1)网络编程常识与C#常用特性

    网络程序设计能够帮我们了解联网应用的底层通信原理!     (1)网络编程常识: 1)什么是网络编程 只有主要实现进程(线程)相互通信和基本的网络应用原理性(协议)功能的程序,才能算是真正的网络编程. 2)网络编程的层次 现实中的互联网是按照"TCP/IP分层协议栈"的体系结构构建的,因此程序员必须搞清楚自己要做的是哪个层次上的编程工作. TCP/IP协议体系的实现情况: 其中,网络接口层已经被大多数计算机生产厂家集成在了主板上,也就是经常所说的网卡(NIC).windows操

9. 网络编程:

网络编程: 端口: 物理端口: 逻辑端口:用于标识进程的逻辑地址,不同进程的标识:有效端口:0~65535,其中0~1024系统使用或保留端口. java 中ip对象:InetAddress. import java.net.*; class  IPDemo{ public static void main(String[] args) throws UnknownHostException{ //通过名称(ip字符串or主机名)来获取一个ip对象. InetAddress ip = InetA