TCP/IP与套接字

以前我们讲过进程间通信,通过进程间通信可以实现同一台计算机上不同的进程之间通信。

通过网络编程可以实现在网络中的各个计算机之间的通信。

进程能够使用套接字实现和其他进程或者其他计算机通信。

同样的套接字既可以实现进程间通信,也可以实现计算机之间通信。

套接字是通信端点的抽象

与文件描述符一样,套接字需要使用套接字描述符。

套接字在Linux上也是通过文件实现的,所以传统的write和read同样适用于套接字。

当服务器和应用程序需要和其他进程通信的时候就会使用套接字。

一对对接的套接字接口构成了进程间交流数据的一个通道。

这些进程可能是windows或者linux以及IOS,android都可以互相通信。

通信域用来说明套接字接口通信协议的语义。

每个域都定义了一套协议、控制和解释名字规则,以及套接口的地址格式。

对于internet域来讲,套接字地址格式是一个IP地址和端口号。

internet域套接字用于连网通信,它们可以用在几乎任何支持TCP/IP的网络通信程序上。

复制去Google翻译翻译结果

时间: 2024-08-24 05:25:50

TCP/IP与套接字的相关文章

Java 网络编程(五) 使用TCP/IP的套接字(Socket)进行通信

套接字Socket的引入 为了能够方便地开发网络应用软件,由美国伯克利大学在Unix上推出了一种应用程序访问通信协议的操作系统用调用socket(套接字). socket的出现,使程序员可以很方便地访问TCP/IP,从而开发各种网络应用的程序. 随着Unix的应用推广,套接字在编写网络软件中得到了极大的普及.后来,套接字又被引进了Windows等操作系统中.Java语言也引入了套接字编程模型. 什么是Socket? Socket是连接运行在网络上的两个程序间的双向通讯的端点. 使用Socket进

TCP下的套接字编程

1.什么是套接字 应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题.多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据.为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字(Socket)的接口.区分不同应用程序进程间的网络通信和连接,主要有3个参数:通信的目的IP地址.使用的传输层协议(TCP或UDP)和使用的端口号.Socket原意是"插座".通过将这3个参数结合起来,

【Python网络编程】利用Python进行TCP、UDP套接字编程

之前实现了Java版本的TCP和UDP套接字编程的例子,于是决定结合Python的学习做一个Python版本的套接字编程实验. 流程如下: 1.一台客户机从其标准输入(键盘)读入一行字符,并通过其套接字将该行发送到服务器. 2.服务器从其连接套接字读取一行字符. 3.服务器将该行字符转换成大写. 4.服务器将修改后的字符串(行)通过连接套接字再发回给客户机. 5.客户机从其套接字中读取修改后的行,然后将该行在其标准输出(监视器)上打印出来. [TCP]服务器端代码: import socket

什么是 socket?简述基于 tcp 协议的套接字通信流程?

Socket的英文原义是"孔"或"插座".通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄, 可以用来实现不同虚拟机或不同计算机之间的通信. 在Internet上的主机一般运行了多个服务软件,同时提供几种服务.每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务. 基于tcp 协议的套接字通信流程: 1). 服务器先用 socket 函数来建立一个套接字,用这个套接字完成通信的监听. 2). 用 bind

基于TCP通信的套接字

基于tcp通信的套接字必须先启动服务器再去启动客户端去链接服务器 客户端 服务端 这只是基于tcp通信的一个简单的套接字  只能进行一次的通信 服务端                                                                                                 客户端 这是能多次通信的套接字 在阻塞前添加一个循环就能实现一个链接循环 服务端 客户端 这是模拟ssh实现远程执行命令 粘包问题 二.两种情况下会发生粘包

TCP和UDP套接字编程 (java实现)

在了解网络编程之前,我们先了解一下什么叫套接字 套接字即指同一台主机内应用层和运输层之间的接口 由于这个套接字是建立在网络上建立网络应用的可编程接口 因此也将套接字称为应用程序和网络之间的应用程序编程接口! 关于TCP和UDP这里就不作太多介绍了,我们知道TCP是面向连接的,UDP是不面向连接的,TCP可靠,UDP不可靠即可! 我们来设计一个应用来示范一下,流程: 客户机从键盘读取一行字符串,并通过套接字发送到服务器. 服务器从连接的套接字获取这行字符串,并对其进行修改(将小写转为大写),最后再

【转】 VC中TCP实现 异步套接字编程的原理+代码

所谓的异步套接字编程就是  调用了 如下函数   WSAAsyncSelect   设置了 套接字的状态为异步,有关函数我会在下面详细介绍... 异步套接字解决了 套接字编程过程中的堵塞问题 ...... 什么是堵塞?请看下面  你可能有过这样的体会  在  VC编写基于界面的网路程序时候  ,调用 recv recvfrom   accept  等函数的时候 整个程序的主线程进入堵塞状态直到 有连接或者信息的到来.  我们可以利用多线程的方法解决主线程堵塞的问题,但是我们如果一个程序需要多个套

基于tcp协议的套接字通信:远程执行命令

1.struct模块 #1.把整型数字转成bytes类型 #2.转成的bytes是固定长度的 import struct import json header_dic = { 'total_size': 31222222222121, 'md5': '123svsaef123sdfasdf', 'filename': 'a.txt' } #序列化:内存中的数据结构---->转成一种中间格式(字符串)---->存到文件中 header_json=json.dumps(header_dic) pr

【Java】Java网络编程菜鸟进阶:TCP和套接字入门

Java网络编程菜鸟进阶:TCP和套接字入门 JDK 提供了对 TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Datagram Protocol,用户数据报协议)这两个数据传输协议的支持.本文开始探讨 TCP. TCP 基础知识 在“服务器-客户端”这种架构中,服务器和客户端各自维护一个端点,两个端点需要通过网络进行数据交换.TCP 为这种需求提供了一种可靠的流式连接,流式的意思是传出和收到的数据都是连续的字节,没有对数据量进行大小限制.