11.2网络编程

网络编程:其实就是在学socket

socket是什么?

  翻译过来称为套接字
是对底层的 TCP IP UDP 等网络协议进行封装
使得上层的应用程序开发者,不用直接接触这对复杂,丑陋的协议
在程序员的言论,他就是一个封装好的模块!
要完成网络通讯,只需要使用系统提供的socket模块就行

  TCP和UDP是传输层最常见的协议
主要控制传输数据的方式
TCP的传输方式
优点:通过三次握手来与服务器建立连接
可以保证数据的完整性
a机器给b机器发送数据包 要求b机器必须立即返回一个确认包
a机器会等待一段时间,如果超时还没有收到确认,则重发数据
缺点:传输效率低
使用场景: 文字聊天,支付宝转账等,
UDP
传输方式:不需要建立连接,直接发送
缺点: 不能保证数据的完整性
优点:传输效率比TCP高
使用场景:视频通话,语音通话,UDP

  

python中的socket

在使用socket的时候用户需要关心的是 ip地址,port端口, 传输协议TCP/UDP,你要发送的数据data

在写网络编程的时候,必然是有两台代码,对应着客户端和服务器

使用socket来完成TCP通讯
应该先完成服务器的代码编写

原文地址:https://www.cnblogs.com/zhanggq/p/9896859.html

时间: 2024-08-10 22:29:43

11.2网络编程的相关文章

head first c<11>初探网络编程上

服务器连接网络四部曲. 为了与外界沟通,c程序用数据流读写字节,比较常用的数据流有标准输入.标准输出.文件等. 如果想写一个与网络通信的程序,就需要一种新的数据流----------套接字. 使用套接字与客户端程序通信前,服务器需要历经四个阶段:绑定.监听.接受.开始. 1.绑定端口 计算机可能同时运行多个服务器程序,为了放置不同的对话混淆,每项服务必须使用不同的端口(port).端口就好像电视频道, 用不同的频道接受不同的节目. 服务器在启动时,需要告诉操作系统将要使用哪个端口,这个过程叫端口

head first c<11>初探网络编程下

上一篇博文可以实现基本的网络通信,但是只能服务给一个人,我们可以通过给每个客户端fork()一个子进程,来实现一对多的服务. 方法: 客户端连到服务器以后,服务器启动一个新创建的套接字对话,也就是说父进程可以继续连接下一个客户端,而子进程来需要处理 accept()创建的副套接字,实现通信功能.父进程克隆子进程后可以关闭副套接字close(connect_d),而子进程可以关闭主监听套接 字close(listener_d). 说了半天就是,一个只负责拉客,一个只负责接客. while(1) {

java基础11( 网络编程)

网络编程三要素 IP:一个计算机的标识 端口:应用程序都会对应一个端口,用来进行通信,有效端口:0~65535,其中0~1024系统使用或保留端口. 协议:两种协议(UDP,TCP) 特殊IP地址:127.0.0.1本地回环地址用来做一些本地测试 pingIP地址; 用来检测本机是否可以和指定的IP地址的计算机可以进行正常通讯 ipconfig     用来查看IP地址 xxx.xxx.xxx.255  广播地址 端口: 物理端口:物理设备对应的端口, 网卡口 逻辑端口:用来标示我们的计算机上的

11.Socket网络编程

本节内容 Socket介绍 Socket参数介绍 基本Socket实例 Socket实现多连接处理 通过Socket实现简单SSH 通过Socket实现文件传送 作业:开发一个支持多用户在线的FTP程序 1. Socket介绍 概念 A network socket is an endpoint of a connection across a computer network. Today, most communication between computers is based on th

六星经典CSAPP-笔记(11)网络编程

六星经典CSAPP-笔记(11)网络编程 参照<深入理解计算机系统>简单学习了下Unix/Linux的网络编程基础知识,进一步深入学习Linux网络编程和TCP/IP协议还得参考Stevens的书. 1.网络基础 (略过,待补充) 2.IP地址 2.1 IP地址的表示 IP地址是一个无符号的32位整数.Linux网络程序使用下面这种IP地址结构存储IP地址: /* Internet address structure */ struct in_addr { unsigned int s_add

python学习笔记11 ----网络编程

网络编程 网络编程需要知道的概念 1.网络体系结构就是使用这些用不同媒介连接起来的不同设备和网络系统在不同的应用环境下实现互操作性,并满足各种业务需求的一种粘合剂.网络体系结构解决互质性问题彩是分层方法. 网络(OSI)的7层模型: 应用层--->为应用程序提供网络通信服务 表示层--->数据表示 会话层--->主机间通信(两个应用进程间) 传输层--->端到端的连接,隔离网络的上下层协议,使得网络应用与下层协议无关 网络层--->寻找最优路径,转发数据包 数据链路层---&

物联网网络编程、Web编程综述

本文是基于嵌入式物联网研发工程师的视觉对网络编程和web编程进行阐述.对于专注J2EE后端服务开发的童鞋们来说,这篇文章可能稍显简单.但是网络编程和web编程对于绝大部分嵌入式物联网工程师来说是一块真空领域. 的确,物联网研发应该以团队协作分工的方式进行,所以有嵌入式设备端.网关.web前端.APP.后端开发等专属岗位.作为系统架构师,自然需要掌握各种岗位的关键技术.作为嵌入式工程师,掌握网络编程.web编程,能够极大地拓展自己的视野和架构思维,能够主动地对系统的各种协议和应用场景提出优化的见解

网络编程TCP/IP实现客户端与客户端聊天

一.TCP/IP协议 既然是网络编程,涉及几个系统之间的交互,那么首先要考虑的是如何准确的定位到网络上的一台或几台主机,另一个是如何进行可靠高效的数据传输.这里就要使用到TCP/IP协议. TCP/IP协议(传输控制协议)由网络层的IP协议和传输层的TCP协议组成.IP层负责网络主机的定位,数据传输的路由,由IP地址可以唯一的确定Internet上的一台主机.TCP层负责面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象. 二.TCP与UDP TCP是一种面向连接的保证可靠传输的协议

(一)理解网络编程和套接字

学习<TCP/IP网络编程> 韩 尹圣雨 著 金国哲 译 套接字类似电话 一.服务器端套接字(listening套接字)---接电话套接字 ①调用socket函数---安装电话机 #include <sys/socket.h> int socket(int domain, int type, int protocol); //成功时返回文件描述符,失败时返回-1 ②调用bind函数---分配电话号码 #include <sys/socket.h> int bind(in