socket编程

Socket 简介与 Java Socket 编程示例 基本概念:Socket可以被视为网络环境中进程间通信的API(应用程序编程接口),也是可以被命名和寻址的通信端点。它是应用程序通过网络协议进行通信的接口,上联应用进程,下联网络协议栈。物理与逻辑层面:在物理层面上,Socket可能并不真实存在,它更多的是一个逻辑上的概念。但在网络编程中,Socket是不可或缺的组成部分。Socket是网络通信中的核心组件之一,它提供了应用层进程之间进行数据交换的机制。通过Socket,不同主机上的应用进程可以建立连接并传输数据。 阅读详情

实现一个简单的tcp 服务端和客户端连接demo,服务端、客户端接收到exit消息就退出

server端:

#socket服务端编程

import socket

server=socket.socket()              #1、创建socket对象
server.bind(("localhost",8888))       #2、绑定ip和端口
server.listen(5)                    #3、设置连接数
conn, addrs = server.accept()  # 4、调用accept方法建立连接对象

while True:
    recv_data=conn.recv(1024).decode("utf-8")       #5、接收客户端发来的消息
    print(f"客户端发来的消息是:{recv_data}")
    if recv_data=='exit':
        break
    msg=input("向客户端发送消息:").encode("utf-8")
    conn.send(msg)              #6、向客户端发送消息

#7、关闭连接和socket对象
conn.close()
server.close()

client端:

import socket

client=socket.socket()              #1、创建socket对象
client.connect(("localhost",8888))    #2、连接服务端

while True:
    send_msg=input("向服务端发送消息:").encode("utf-8")     #3、向服务端发送消息
    client.send(send_msg)

    recv_data=client.recv(1024).decode("utf-8")           #4、接收服务端返回的消息
    print(f"服务端返回消息是:{recv_data}")
    if recv_data=='exit':
        break

#关闭socket连接
client.close()

先启动服务端程序,然后启动客户端程序,在客户端输入内容:

服务端接收到内容,并回复:

【Java TCP/IP Socket】Socket编程大合集 为了方便各位网友学习以及方便自己复习之用,将Java TCP/IP Socket编程系列内容按照学习顺序总结如下: 【Java TCP/IP Socket】Java TCP Socket程编程 【Java TCP/IP Socket】Java UDP Socket编程 【Java TCP/IP Socket】应用程序协议中消息的成帧与解析 【Java TCP/IP Socket】构建和解析自定义协议消息 【Java TCP/IP Socket】基于线程池的TCP服务器 【Java TCP/IP 阅读详情

相关推荐

流式Socket编程

流式Socket编程 1、实现基于流式套接字的网络功能框架,包括客户端与服务端两个部分(以类的形式); 2、在第一步的基础上,实现服务器/客户端之间的回射功能; 3、改进服务端程序,使其支持多线程,即为每个客户端请求创建一个服务线程; 客户端 // EchoTCPClientDemo.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h" #define WIN32_LE...

weixin_43136689的博客 1415

socket/io(1)、Linux的socket编程详解

Linux的SOCKET编程详解 1. 网络中进程之间如何通信 进 程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进 程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如 UNIX BSD有:管道(pipe)、命名管道(named pipe)软中断信号(signal) UNIX system V有:消息(mes......

黄规速博客:学如逆水行舟,不进则退 34万+

Docker环境下onlyOffice 7.5.1破解版部署全攻略(含ARM架构适配)

本文提供了在Docker环境中部署OnlyOffice 7.5.1破解版的完整实战指南。内容涵盖x86与ARM架构服务器的详细部署步骤、环境配置、持久化存储设置以及生产环境下的安全与性能优化。重点解决了ARM架构适配的常见问题,并分享了使用Docker Compose进行服务编排和日常维护的技巧,帮助用户快速搭建私有化文档协作平台。

redis7keeper的博客 353

Socket编程详解

Socket中文意思是“插座”,在Linux环境下,用于表示进程x间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。既然是文件,那么理所当然的,我们可以使用文件描述符引用套接字。Linux系统将其封装成文件的目的是为了统一接口,使得读写套接字和读写文件的操作一致。区别是文件主要应用于本地持久化数据的读写,而套接字多应用于网络进程间数据的传递。在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程。“IP地址+端口号”就对应一个socket。欲建立连接的两个进程各自有一

qq_51654808的博客 2万+

C2000 CLA协处理器:嵌入式实时控制性能优化与实战指南

在嵌入式实时控制系统中,主CPU常因高频率、低延迟的控制算法而面临性能瓶颈。为解决此问题,协处理器技术应运而生,它通过硬件并行架构分担计算密集型任务,从而提升系统整体性能。其核心原理在于独立的计算单元与总线设计,能够实现近乎零延迟的响应,这对于电机驱动、数字电源等闭环控制场景具有极高的技术价值。本文聚焦于德州仪器C2000系列微控制器中的控制律加速器(CLA),深入解析其作为独立浮点协处理器如何通过任务调度与消息RAM通信机制,有效实现性能倍增,并提供了从内存配置到代码调试的完整工程实践方案。

weixin_29192211的博客 302

matplotlib三维画图之观察博弈论混合策略下纳什均衡点

参考链接: 博弈论入门20讲之第16讲-猜谜游戏-散户如何赢庄家 游戏背景: 我的期望是: 你的期望是: 使用Python的matplotlib画图: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = Axes3D(fig) X = np.linspace(0, 1, 100) Y = np.linspace(0, 1,

敲代码的小风 1257

Raw Socket和Socket编程

 1.原始套接字(raw socket)  1.1 原始套接字工作原理与规则         原始套接字是一个特殊的套接字类型,它的创建方式跟TCP/UDP创建方法几乎是一摸一样,例如,通过CODE:[Copy to clipboard]       int sockfd;       sockfd = socktet(AF_INET, SOCK_RAW, IPPROTO_

KZM2008的专栏 3万+

单细胞分析(16)—— RNA Velocity 分析流程

RNA velocity 是一种强大的单细胞转录组分析工具,它可以预测细胞的未来状态,揭示发育轨迹,并用于探索细胞状态转换。RNA velocity 是一种通过单细胞 RNA 测序(scRNA-seq)数据推测细胞未来状态的分析方法。🚀**RNA velocity 提供了一个全新的角度来理解细胞的动态变化,为单细胞转录组分析带来了更深入的时空信息!

阅读文献,记录学习笔记 2976

C++ socket编程

概要: sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。 服务器端编程的步骤: 1:加载套接字库,创建套接字(WSAStartup()/socket()); 2:绑定套接字到一个IP地址和一个端口上(bind()); 3:将套接...

残花织梦的博客 8870

STM407ZET6+OV5640调试心得

最近一个项目用了STMF407ZET6 +OV5640,调试了好几天做些总结; STMF407ZET6 开发板用的是正点原子的开发板,OV5640摄像头用的是秉火摄像头; 这其中有一个大坑,开发板的DCMI接口跟摄像头的接口不一样,要重新用杜邦线进行连接; 本人是在正点原子的“”15,ATK-OV5640摄像头模块“”源码上进行修改的。

kingseacjh的专栏 8325

百条网络工程师基础面试题(不断更新)

1)什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2)OSI 参考模型的层次是什么? 有 7 个 OSI 层:物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。 3)什么是骨干网? 骨干网络是集中的基础设施,旨在将不同的路由和数据分发到各种网络。它还处理带宽管理和各种通道。 4)什么是 LAN? LAN 是局域网的缩写。它是指计算机与位于小物理位置的其他网络设备之间的连接。 5)什么是节点? 节点是指连接发生的点。它可以是作为网络一部分的计算机

weixin_42728126的博客 2万+

Java的Socket编程

  java.net包中提供了UDP和TCP这两种常见的网络协议的支持。 Socket编程   套接字使用TCP提供了两台计算机之间的通信机制。客户端程序创建一个套接字,并尝试连接服务器的套接字。当连接建立时,服务器会创建一个Socket对象。客户端和服务器现在可以通过对Socket对象的写入和读取来进行通信。   java.net.Socket类代表一个套接字,并且java.net.ServerSocket类为服务器程序提供了一种来监听客户端,并与它们建立连接的机制。   以下步骤在两台计算机之间使用套接

健身房 3894

音频降采样系数

如果需要把8K, 16K, 32K, 48K采样率的音频数据降为4K的音频数据, 最简单的方法根据降频倍数来取点, 但是线性度不好. 另一种线性度好一点的方法是: 取适当个数的点数, 各点乘以各自点的系数, 然后相加取平均值. 降频倍数与系数的关系如下: 2倍:     {0.3, 0.4, 0.3} 4倍:    {0.15, 0.2, 0.3, 0.2, 0.15} 8倍:   {0

joans123的专栏 4645

golang socket编程

在大学的时候,曾经修过一门课《网络原理》,其中就花很大的篇幅讲过TCP/IP四层网络协议(OSI的七层网络协议可以映射到这个四层协议上来),也讲过HTTP协议、socket编程。但是讲的东西多了,总有一种云里雾里的感觉,而且也没能很好的了解其中的关联。这里就和大家一起梳理一下,上述几个概念之间的关系,并通过golang实现socket编程。 1. 基础概念 1.1 TCP/IP协议 TCP/...

卓立的博客 6554

优化问题-半正定规划(Semi-Definite Program, SDP)

半正定规划(Semi-Definite Program, SDP)在MIMO无线通信相关的信号处理中具有广泛的应用,在某些场景可以分析证明SDP的得到的解释原问题的全局最优化或者次优解。

qq_33668008的博客 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

什么是SOCKET编程?在PHP中如何实现SOCKET通信?

SOCKET编程是一种网络编程方式,它允许程序通过网络(如Internet)或本地机器(如Unix域套接字)进行通信。SOCKET可以看作是网络通信的一个端点,通过它,程序可以发送和接收数据。SOCKET编程提供了低级的网络通信接口,使得程序员可以直接控制网络数据流。SOCKET编程是一种基础但强大的网络编程技术,它允许程序通过网络进行直接通信。在PHP中,可以使用内置的socket_*函数来实现SOCKET编程,创建服务器端和客户端进行通信。

长风破浪会有时的博客 1631

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【Linux】SOCKET编程

传统的进程间通信借助内核提供IPC机制进行,但是只能限制于本机通信,若要进行跨机通信,就要使用网络通信。​ 网络通信的本质是借助内核提供SOCKET伪文件的机制进行通信,实际上是使用了文件描述符,因此需要使用内核提供的socketAPI函数库(在传输层层面进行)。

Demok123的博客 3198

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Socket编程

本文介绍了TCP协议的Socket编程流程及常用API函数。服务器端流程包括创建监听套接字、绑定IP端口、设置监听、接受连接和通信;客户端流程包括创建套接字、连接服务器和通信。文中提供了完整的C语言示例代码,详细说明了socket()、bind()、listen()、accept()、connect()、write()和read()等关键函数的使用方法、参数说明及注意事项。这些API函数实现了TCP通信的核心功能,包括套接字创建、地址绑定、连接建立和数据传输等操作,为网络编程提供了基础支持。

weixin_60192263的博客 939

Socket编程指南及示例程序

1         前言在一些常用的编程技术中,Socket网络编程可以说是最简单的一种。而且Socket编程需要的基础知识很少,适合初学者学习网络编程。目前支持网络传输的技术、语言和工具繁多,但是大部分都是基于Socket开发的,虽说这些“高级”的网络技术屏蔽了大部分底层实现,号称能极大程度的简化开发,而事实上如果你没有一点Socket基础,要理解和应用这些技术还是很困难的,而且会让你成为“

sdhfll的专栏 3174

C语言的Socket编程

Socket编程是网络编程的核心,C语言为实现Socket编程提供了强大的支持。通过理解Socket的基本概念、编程步骤以及实现技巧,开发人员可以构建出高效、灵活的网络应用。随着技术的不断发展,掌握Socket编程将为开发者打开更广阔的职业道路。本文简要概述了C语言的Socket编程,从基本概念到实际的代码示例,再到高级特性,希望能帮助读者更好地理解和应用Socket编程。无论是要实现一个简单的聊天程序,还是复杂的网络服务,Socket编程都是初学者和经验丰富的开发者不可或缺的技能之一。

2501_90932946的博客 733

Ubuntu下进行Socket编程

这是第一次进行网络编程,献给Ubuntu了。由于需要结合OpenGL搭建的虚拟环境进行实验,为了将虚拟环境中的实验参数传送至另一台PC机协同工作。我们选择使用网络编程进行数据通行。本次博客先运行两个demo体会一下利用C++进行Socket编程。实验进行我们在本次实验中将运行两个demo,第一个demo用来进行文件传输,第二个demo用来进行窗口对话。demo1本次demo采用TCP流,demo代码

龙云尧的博客 5894

Socket编程简介

目录背景基础流程参考 本文系读书笔记,非深入研究,也无代码,如非所需,请见谅。 哦,这里有份不错的:Linux的SOCKET编程详解 背景 花了好久的时间(大约一周,我太垃圾)看完了一篇英文文章:Bee'j Guide to Network Programming[1]。还有一本书:《TCP/IP Sockets in C - Practical Guide for Programmers》以及一份PPT:《Introduction to Sockets Programming in C usin...

rizon886的博客 459

Powershell语言的Socket编程

Socket是网络通信的基本操作单元,它代表了一个终端到终端的连接。Socket可以用于不同类型的协议,如TCP和UDP。TCP是一种可靠的连接导向协议,而UDP则是一种不可靠的、无连接的协议。在Socket编程中,用户通过Socket接口来进行数据的发送和接收。本文介绍了如何使用PowerShell进行Socket编程,涵盖了TCP和UDP的基础知识及实践示例。通过创建一个TCP服务器和客户端,我们展示了如何实现简单的网络通信;

2501_91201177的博客 1020
上一篇: python中的文件操作
下一篇: 字符串操作
Cc_sec
博客等级 码龄8年 6粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值