udp

Udp简单的服务器与客户端07

爷,独闯天下 提交于 2020-01-31 10:52:31
UDP协议: UDP协议传输数据是不可靠的,在java中,java.util.DatagramSocket负责接收和发送UDP数据报,java.util.DatagramPacket表示UDP数据表。每个 DatagramSocket与一个本底地址绑定,每个DatagramSocket可以把UDP数据报发送给任意一个远程DatagramSocket,也可以接收来自任意一个远程的 DatagramSocket的UDP数据报。在UDP数据报中包含了目的地址信息,DatagramSocket根据该信息把数据报发送到目的地 UDP服务端 public class EchoServer{ private int port = 8089; private DatagramSocket socket; public EchoServer()throws IOException{ socket = new DatagramSocket(port); System.out.println("服务端启动"); } public String ehco(String msg){ return "ehco:"+msg; } public void service(){ while(true){ try { //创建一个数据报对象 DatagramPacket packet = new

UDP发送组播消息

此生再无相见时 提交于 2020-01-31 10:52:10
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.Sockets; namespace Asr.App.O2o.Client.UdpMulticast { public class UdpMulticast { private static IPAddress mcastAddress; private static int mcastPort; private static Socket mcastSocket; private static MulticastOption mcastOption; public static void Start() { //组播地址和端口 mcastAddress = IPAddress.Parse("224.0.0.1"); mcastPort = 6005; //组播套接字,绑定本地地址(组播端口) mcastSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPEndPoint localEP = new IPEndPoint

7.3传(运)输层

时光怂恿深爱的人放手 提交于 2020-01-31 05:46:24
引入传输层的原因: 消除网络层的不可靠性; 向上层屏蔽通信子网的实现细节 弥补上次提出要求和下层提供服务间的差异 资源子网 传输层 通信子网 传输层的作用范围 提供从源端主机到目的端主机的可靠传输。主机进程间(进程端口到进程端口)的通信,IP协议考虑的是协议。 应用进程之间的通信: 运输层提供进程级的访问能力 两个主机进行通信实际上就是两个主机中的应用进程互相通信 应用进程之间的通信又称为端到端的通信 运输层的另一个重要功能就是复用和分用 传输服务 传输实体:完成传输层功能的硬软件; 传输层实体利用网络层提供的服务向高层提供有效、可靠的服务,用服务质量QoS来衡量; 传输层提供两种服务 面向连接的传输服务:连接建立,数据传输,连接释放; 无连接的传输服务:不可靠的传输。 Internet传输协议 传输服务原语 传输服务的要素 寻址方法:定义传输服务访问点TSAP,将应用进程与这些TSAP相连。 在Internet中,TSAP内容如下: (IP address, local port) **服务访问点TSAP: 传输层常用端口号 远方客户程序如何获得服务程序的TSAP? TSAP(Transport Service Access Point) 传输服务访问点 方法1:预先约定、广为人知的(Well-known),比如telnet是(IP地址,端口23); 方法2:从名字服务器

java学习之tcp与udp的实现

自古美人都是妖i 提交于 2020-01-30 11:51:11
1 package com.gh.socket; 2 3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6 import java.net.Socket; 7 import java.net.UnknownHostException; 8 9 /** 10 * tcp客户端程序 11 * @author ganhang 12 */ 13 public class ClientDemo { 14 public static void main(String[] args) { 15 try { 16 Socket sk=new Socket("",8888); 17 System.out.println("与服务器连接成功"); 18 BufferedReader br=new BufferedReader(new InputStreamReader(sk.getInputStream())); 19 String info=br.readLine(); 20 br.close(); 21 System.out.println(info); 22 } catch (UnknownHostException e) { 23 e

Send DHT queries to “router.bittorrent.com” response garbled text

时光毁灭记忆、已成空白 提交于 2020-01-30 09:02:16
问题 I read the DHT Protocol in bep_0005 page. But when I send a ping query or a find_node query, the server response a garbled text (both of router.bittorrent.com:6881 or dht.transmissionbt.com:6881 ) Here is the Java source code bellow public String ping(final String id) { System.out.println("Start ping:" + id); Bencode bencode = new Bencode(); byte[] encoded = bencode.encode(new HashMap<Object, Object>() { private static final long serialVersionUID = 4225164001818744013L; { put("t", "tr"); put(

通信网笔记

a 夏天 提交于 2020-01-30 00:56:53
应用与分层的体系结构 协议、服务和分层示例 协议的概念:协议是控制两个或多个通信体之间进行交互的一组规则;协议的目的是 提供多种类型的通信服务 。 计算机中的服务器进程监听来自端口的服务请求。**端口就是一个地址,用来表明哪一个进程将要接收发往特定机器的消息。**应用广泛的应用程序都有其服务器指定的公认端口号,以便其他计算机的客户端进程能够容易地按要求发送请求,服务器对这些请求做出响应。 通过万维网进行浏览 通过万维网(WWW)框架我们可以访问已经连接到Internet上的计算机中的文件,这些文件以**超文本标记语言(HTML)**编写而成,可以包括文本、图表和其他媒体格式,并通过文件中的链接互相联系起来。 通过浏览器程序访问Web页,浏览其中所显示的文档,并可以单击链接来访问其他文档。每一个链接都为浏览器提供了 统一资源定位符(URL),URL可以指定存储文档的机器名和包含请求文档的文件名 。 超文本传输协议(HTTP)详细规定了 客户端和服务器端 交互与文件读取有关的规则,这些规则还制定了表达请求和响应时的措辞方式。协议假定客户端和服务器端能够直接交换消息。通常情况下,客户端软件需要在HTTP请求之前建立起双向连接。 从Web上获取文档: 1、用户单机链接,以表明需要获取哪份文档,浏览器必须确定包含此份文档的计算机的网络地址。为此,浏览器要向本地域名服务器发送一个查询。 2

STM32驱动SDIO WIFI 介绍(十六) ---- 上位机UDP操作/代码

最后都变了- 提交于 2020-01-29 06:59:04
代码工程的GITHUB连接: 点进进入GITHUB仓库 https://github.com/sj15712795029/stm32f1_marvell88w8801_marvell8801_wifi Marvell自己实现驱动系列文章分为几篇介绍: SDIO wifi Marvell8801/Marvell88w8801 介绍(一) ---- 芯片介绍 SDIO wifi Marvell8801/Marvell88w8801 介绍(二) ---- SDIO协议介绍 SDIO wifi Marvell8801/Marvell88w8801 介绍(三) ---- 寄存器介绍 SDIO wifi Marvell8801/Marvell88w8801 介绍(四) ---- 命令/事件/数据格式 SDIO wifi Marvell8801/Marvell88w8801 介绍(五) ---- TLV SDIO wifi Marvell8801/Marvell88w8801 介绍(六) ---- 实现初始化功能 SDIO wifi Marvell8801/Marvell88w8801 介绍(七) ---- 实现搜索功能 SDIO wifi Marvell8801/Marvell88w8801 介绍(八) ---- 实现STA功能 SDIO wifi Marvell8801

Socket、TCP和UDP协议、端口含义

一曲冷凌霜 提交于 2020-01-28 17:00:30
1、如何理解Socket 两台计算机相互通讯靠的就是Socket,类似于2个人通讯要靠电话,也就是说Socket就是程序之间的电话。Socket英文意思是孔、插座,作为进程通讯机制,取后一种意思,通常也成为套子节,用于描述IP地址和端口。IP地址指向某台服务器,端口用于连接到某一个应用程序。 socket在通讯过程中所处位置(作用)理解: 比如上图所示: 男生要到女生宿舍找自己女朋友出去玩,不能直接进入女生宿舍去找,要经过宿管大妈,由宿管大妈打电话告知你的女朋友,电话打通后你们之间再进行通话了。这里宿管大妈就是负责监听的Socket,如果有男生(客户端发送请求)来了就创建一个负责通信的socket(电话机),从而使该男生(客户端)与对应女生(服务端某应用程序)可以通信了。socket开始就是服务器端负责监听的(相当于宿管大妈),看有没有客户端发送请求到服务器端,有的话就创建一个负责通信的Socket。Socket接口是TCP/IP网络最为通用的API,也是在INTERNET上进行应用开发最为通用的API。 2、TCP协议和DUP协议 协议 :类似于两个人打电话有一个默认协议就是都说普通话,如果大家都说家乡话,可能都听不懂,在网络中常用的协议有:UDP和TCP协议。 TCP/IP协议 :Transmission Control Protocol/Internet Protocol

基于UDP的编程

佐手、 提交于 2020-01-28 07:52:00
【基于upd的服务端】 创建套接字—>数据报套接字 sockfd = socket(AF_INET,SOCK_DGRAM) 绑定服务端地址 sockfd.bind() 消息的收发 data = recvfrom(buffersize) 功能:接收UDP消息 参数:每次最多接收消息的大小 返回值:接收到的内容 接收到的消息的发送者 注意: recvfrom一次接收一个数据包,如果数据包超出了一次能接收的大小则会丢失没有收到的内容 sendto(data,addr) 功能:udp发送消息 参数:data 要发送的内容 bytes(要求用bytes格式) addr 消息要发送给谁 返回值:发送的字节 关闭套接字 sockfd.close() 补充 sys.argv 功能: 获取来自命令行的参数,形成一个(字符串)列表 argv[0]是命令本身,其他内容默认以空格分割放到列表中 示例: import sys print ( sys . argv ) 终端打印: tarena@tedu : ~ / pythonweb / day02$ python3 argv . py hello wangtiantian [ 'argv.py' , 'hello' , 'wangtiantian' ] tarena@tedu : ~ / pythonweb / day02$ python3 argv .

常见的计算机端口号

佐手、 提交于 2020-01-28 04:33:59
HTTP: 80 —— HyperText Transport Protocol,超文本传输协议,www服务 HTTPS: 443 —— encrypted transmission SSH: 22 —— Secure Shell - 远程登录协议,用于安全登录文件传输(SCP,SFTP)及端口重新定向 telnet: 23 —— 终端仿真协议 - 未加密文本通信 DNS:53 —— Domain Name Server,域名服务器 (TCP/UDP: 53) FTP: 20/21 ——File Transfer Protocol,文件传输协议 SMTP: 25 —— 简单邮件传输协议 (TCP/UDP: 25) 数据库:MS SQL: 1433、Oracle: 1521、MySQL:3306 服务器:Tomcat: 8080 来源: https://www.cnblogs.com/GodSince/p/10897566.html