老师的博客:http://www.cnblogs.com/Eva-J/articles/8066842.html 计算机网络基础

       :http://www.cnblogs.com/Eva-J/articles/8244551.html 网络编程

基于TCP协议的简单的发消息

server

import socket
from socket import SOL_SOCKET,SO_REUSEADDR
tool=socket.socket()
tool.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)
tool.bind(('192.168.43.155',8891))#IP port
tool.listen()#监听连接
connect,address=tool.accept()#接受client的信息,建立三次握手
get=connect.recv(1024).decode('utf-8')#接受信息
print(get)
connect.send(bytes('you can go oher place'.encode('utf-8')))
get = connect.recv(1024).decode('utf-8')
print(get)
connect.close()

注意,当建立三次握手后,所有的操作前缀都是你拿到的那个链接,而下面的client的前缀都是自己的那个前缀

client

import socket
client=socket.socket()
client.connect(('192.168.43.155',8891))#建立三次握手
client.send(bytes('i am coming'.encode('utf-8')))#发信息
get = client.recv(1024).decode('utf-8')#接受信息
print(get)
client.send(bytes('i only say goodbye'.encode('utf-8')))
client.close()

TCP协议是,建立连接时,谁先发送消息都可以,但是注意的是,必须是一发一收,一发一收,按照顺序来。serve接受时,不必写入地址,因为tcp协议是面向

的协议

基于DUP协议

server

import socket
ip_port=('192.168.43.155',8898)
server=socket.socket(type=socket.SOCK_DGRAM)
server.bind(ip_port)
message,address=server.recvfrom(1024)
set = message.decode('utf-8')
print(set)
print('client address:',address)
server.sendto(bytes('i know you coming'.encode('utf-8')),address)
message,address=server.recvfrom(1024)
print(message.decode('utf-8'))
print('client address:',address)
server.close()

client

import socket
ip_port=('192.168.43.155',8898)
client=socket.socket(type=socket.SOCK_DGRAM)
client.sendto(bytes('i am coming'.encode('utf-8')),ip_port)
message,address=client.recvfrom(1024)
print('sever address:',address)
print(message.decode('utf-8'))
client.sendto(bytes('i am going'.encode('utf-8')),address)
client.close()

udp 协议不必遵循发一收一,但是发几条信息得收几条信息,发送信息是和接受信息时必需带上地址

网络编程_tcp与dup协议简单应用的更多相关文章

  1. 嵌入式linux的网络编程(1)--TCP/IP协议概述

    嵌入式linux的网络编程(1)--TCP/IP协议概述 1.OSI参考模型及TCP/IP参考模型 通信协议用于协调不同网络设备之间的信息交换,它们建立了设备之间互相识别的信息机制.大家一定都听说过著 ...

  2. C#网络编程TCP通信实例程序简单设计

    C#网络编程TCP通信实例程序简单设计 采用自带 TcpClient和TcpListener设计一个Tcp通信的例子 只实现了TCP通信 通信程序截图: 压力测试服务端截图: 俩个客户端链接服务端测试 ...

  3. 网络编程杂谈之TCP协议

    TCP协议属于网络分层中的传输层,传输层作用的就是建立端口与端口的通信,而其下一层网络层的主要作用是建立"主机到主机"的通信,所以在我们日常进行网络编程时只要确定主机和端口,就能实 ...

  4. Android网络编程系列之HTTP协议原理总结

    前言 作为搞移动开发的我们,免不了与网络交互打交道.虽然市面上很多开源库都封装的比较到位,我们实现网络访问也轻车熟路.但还是十分有必要简要了解一下其中的原理,以便做到得心应手,也是通往高级开发工程师甚 ...

  5. Day09: socket网络编程-OSI七层协议,tcp/udp套接字,tcp粘包问题,socketserver

    今日内容:socket网络编程    1.OSI七层协议    2.基于tcp协议的套接字通信    3.模拟ssh远程执行命令    4.tcp的粘包问题及解决方案    5.基于udp协议的套接字 ...

  6. 8.6 day27 网络编程 osi七层协议 Time模块补充知识 TCP协议

    Time模块补充知识 date和datetime区别是什么? date 就是年月日 datetime就是年月时时分秒 以下代码为什么会报错? import json from datetime imp ...

  7. 网络编程之基于UDP协议的套接字编程、基于socketserver实现并发的socket

    目录 基于UDP协议的套接字编程 UDP套接字简单示例 服务端 客户端 基于socketserver实现并发的socket 基于TCP协议 server类 request类 继承关系 服务端 客户端1 ...

  8. python 之 网络编程(基于TCP协议的套接字通信操作)

    第八章网络编程 8.1 基于TCP协议的套接字通信 服务端套接字函数 s.bind() 绑定(主机,端口号)到套接字 s.listen() 开始TCP监听 s.accept() 被动接受TCP客户的连 ...

  9. 网络编程_TCP协议_客户端与服务端

    客户端发数据到服务端 Tcp传输,客户端建立的过程. 1,创建tcp客户端socket服务.使用的是Socket对象.建议该对象一创建就明确目的地.要连接的主机. 2,如果连接建立成功,说明数据传输通 ...

随机推荐

  1. Python常见面试题

    Q 1:Python 有哪些特点和优点? 作为一门编程入门语言,Python 主要有以下特点和优点: ● 可解释● 具有动态特性● 面向对象● 简明简单● 开源● 具有强大的社区支持当然,实际上 Py ...

  2. java基础(十四)-----详解匿名内部类——Java高级开发必须懂的

    在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意的事项.匿名内部类使用的形参为何要为final. 使用匿名内部类内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: n ...

  3. C#版(打败97.89%的提交) - Leetcode 202. 快乐数 - 题解

    版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - L ...

  4. Android 开发工具类 18_NetWorkUtil

    检测网络的一个工具包: 1.网络是否可用: 2.判断是否有网络连接: 3.判断 WIFI 网络是否可用: 4.判断 MOBILE 网络是否可用; 5.获取当前网络连接的类型信息: 6.获取当前的网络状 ...

  5. FIVE1

    Topic Link http://ctf5.shiyanbar.com/stega/FIVE1/1111110000000000.jpg 1) 直接放到HXD中,你会发现里面有一个zip文件 2)提 ...

  6. scrapy爬虫学习系列三:scrapy部署到scrapyhub上

    系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备:      http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...

  7. MySQL/MariaDB系列文章目录

    以下是本系列文章的大纲,此页博文完全原创,花费了作者本人的极大心血,如转载,请务必标明原文链接. 如果觉得文章不错,还请帮忙点下"推荐",各位的支持,能激发和鼓励我更大的写作热情. ...

  8. 开源分布式数据库SequoiaDB在去哪儿网的实践

    编者注: 中国的数据库行业也迎来了一波新的热点事件.分布式数据库这块新消息不断,也让大家开始关注中国的分布式数据库.首先是短短一周内,Pingcap和SequoiaDB巨杉数据库陆续宣布了C轮的数千万 ...

  9. Django 系列博客(八)

    Django 系列博客(八) 前言 本篇博客介绍 Django 中的模板层,模板都是Django 使用相关函数渲染后传输给前端在显式的,为了想要渲染出我们想要的数据,需要学习模板语法,相关过滤器.标签 ...

  10. 第13章 切换到混合流并添加API访问 - Identity Server 4 中文文档(v1.0.0)

    在之前的快速入门中,我们探讨了API访问和用户身份验证.现在我们想把这两个部分放在一起. OpenID Connect和OAuth 2.0组合的优点在于,您可以使用单个协议和使用令牌服务进行单次交换来 ...