老师的博客: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. java代码之美(1)---Lambda

    Lambda 一.概述 1.什么是Lambda表达式 Lambda 表达式是一种匿名函数,简单地说,它是没有声明的方法,也即没有访问修饰符.返回值声明和名字. 它可以写出更简洁.更灵活的代码.作为一种 ...

  2. C语言数组操作和指针操作谁更高效

    在上一篇博文  代码优化小技巧(持续更新......) 第三条关于数组和指针谁更高效, 意犹未尽, 决定单独拉出一篇来讲 1. 数组和指针操作对比 #include <stdio.h> i ...

  3. 如何用sysbench做好IO性能测试

    sysbench 是一个非常经典的综合性能测试工具,通常都用它来做数据库的性能压测,但也可以用来做CPU,IO的性能测试.而对于IO测试,不是很推荐sysbench,倒不是说它有错误,工具本身没有任何 ...

  4. 原型模式 prototype 创建型 设计模式(七)

    原型模式  prototype 意图 用原型实例指定需要创建的对象的类型,然后使用复制这个原型对象的方法创建出更多同类型的对象   显然,原型模式就是给出一个对象,然后克隆一个或者更多个对象 小时候看 ...

  5. Mybatis sql映射文件浅析 Mybatis简介(三)

    简介 除了配置相关之外,另一个核心就是SQL映射,MyBatis 的真正强大也在于它的映射语句. Mybatis创建了一套规则以XML为载体映射SQL 之前提到过,各项配置信息将Mybatis应用的整 ...

  6. 【.NET Core项目实战-统一认证平台】第十一章 授权篇-密码授权模式

    [.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章介绍了基于Ids4客户端授权的原理及如何实现自定义的客户端授权,并配合网关实现了统一的授权异常返回值和权限配置等相关功能,本篇将介绍 ...

  7. 基于C#程序设计语言的三种组合算法

    目录 基于C#程序设计语言的三种组合算法 1. 总体思路 1.1 前言 1.2 算法思路 1.3 算法需要注意的点 2. 三种组合算法 2.1 普通组合算法 2.2 与自身进行组合的组合算法 2.3 ...

  8. C# 爬虫----Cookies处理(Set-Cookie)

    /// <summary> /// Cookie 助手 /// </summary> public class CookieHelper { /// <summary&g ...

  9. php-fpm 的优化

    pid = /usr/local/php/var/run/php-fpm.pid error_log = /usr/local/php/var/log/php-fpm.log log_level = ...

  10. 原生js实现数据单向绑定

    Object.defineProperty()方法直接在对象上定义一个新属性,或修改对象上的现有属性,并返回该对象. Object.defineProperty(obj, prop, descript ...