网络编程基础【林老师版】:简单的 套接字通信(一)

一、服务端代码

import socket

#1、买手机
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# print(phone)

#2、绑定手机卡
phone.bind((‘127.0.0.1‘,8081)) #0-65535:0-1024给操作系统使用

#3、开机
phone.listen(5)

#4、等电话链接
print(‘starting...‘)
conn,client_addr=phone.accept()

#5、收,发消息
data=conn.recv(1024) #1、单位:bytes 2、1024代表最大接收1024个bytes
print(‘客户端的数据‘,data)

conn.send(data.upper())

#6、挂电话
conn.close()

#7、关机
phone.close()

二、客户端代码

import socket

#1、买手机
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# print(phone)

#2、拨号
phone.connect((‘127.0.0.1‘,8081))

#3、发,收消息
phone.send(‘hello‘.encode(‘utf-8‘))
data=phone.recv(1024)
print(data)

#4、关闭
phone.close()

三、测试截图

1、客户端端未启动服务端状态截图

2、客户端端启动服务端状态截图

3、服务器先启动客户端后启动状态截图

4、服务器端位启动,客户端启动报错截图

原文地址:https://www.cnblogs.com/luoahong/p/10177819.html

时间: 2024-10-10 03:56:52

网络编程基础【林老师版】:简单的 套接字通信(一)的相关文章

python开发socket网络编程基础:粘包问题&udp套接字

一,发生粘包 服务器端 1 from socket import * 2 phone=socket(AF_INET,SOCK_STREAM) #套接字 3 phone.setsockopt(SOL_SOCKET,SO_REUSEADDR,1) #解决端口占用 4 phone.bind(('127.0.0.1',8080)) #绑定端口和Ip到套接字 5 phone.listen(5) 6 conn,client_addr=phone.accept() #等待tcp接受 7 8 9 # data1

【UNIX网络编程(二)】基本TCP套接字编程函数

基于TCP客户/服务器程序的套接字函数图如下: 执行网络I/O,一个进程必须做的第一件事就是调用socket函数,指定期望的通信协议类型. #include <sys/socket.h> int socket(int family, int type, int protocol);/*返回值:若成功则为非负描述符,若出错则为-1*/ socket函数成功时返回一个小的非负整数值,它与文件描述符类似,把它称为套接字描述符,简称sockfd.family参数指明协议族,被称为协议域.type参数指

PYTHON网络编程基础 pdf扫描版高清下载

PYTHON网络编程基础 pdf,本书全面介绍了使用PYTHON进行网络编程的基础知识,高级网络操作.WebServices.解析HTML和XHTML.XML.FTP.使用PYTHON操作数据库.SSL.几种服务器端框架,以及多任务处理等,实用性比较强,书中提供了175个实例,6600行以上的代码. 目录 第1部分 底层网络 第1章 客户/服务器网络介绍 第2章 网络客户端 第3章 网络服务器 第4章 域名系统 第5章 域名系统 第2部分 Web Service 第6章 Web客户端访问 第7章

UNIX网络编程笔记(3)—基本TCP套接字编程

基本TCP套接字编程 主要介绍一个完整的TCP客户/服务器程序需要的基本套接字函数. 1.概述 在整个TCP客户/服务程序中,用到的函数就那么几个,其整体框图如下: 2.socket函数 为了执行网络I/O,一个进程必须要做的事情就是调用socket函数.其函数声明如下: #include <sys/socket.h> int socket(int family ,int type, int protocol); 其中: family:指定协议族 type:指定套接字类型 protocol:指

《Python》网络编程之客户端/服务端框架、套接字(socket)初使用

一.软件开发的机构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:QQ.微信.网盘等这一类是属于需要安装的桌面应用 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就可以直接使用的应用 这些应用的本质其实都是两个程序之间的通讯,而这两个分类又对应了两个软件开发的架构 1.C/S架构 C/S即:Client与Server,中卫意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的. 这里的客户端一般泛指客户端应用程序EXE,程序需要先安装

Unix网络编程学习笔记之第7章 套接字选项

一.获取/设置套接字选项的方法 一个套接字描述符相关联的套接字选项很多.获取/设置套接字选项的方法: 1.  getsockopt和setsockopt函数 2. fcntl函数 3. ioctl函数 二. getsockopt和setsockopt函数 int getsockopt(int sockfd, int level, int optname, void* optval, socklen_t* optlen); int setsockopt(int sockfd, int level,

网络编程[第二篇]基于udp协议的套接字编程

udp协议下的套接字编程 一.udp是无链接的    不可靠的 而上篇的tcp协议是可靠的,会有反馈信息来确认信息交换的完成与否 基于udp协议写成的服务端与客户端,各司其职,不管对方是否接收到信息,只需自己发送了即可 二.客户端 import socket #买手机 -- 套接字家族 | 端口协议 phone = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) #服务端地址 ip_port = ('127.0.0.1',8001) #实现多次发送

【TCP/IP网络编程】:07优雅地断开套接字连接

本篇文章简单讨论了TCP套接字半关闭的相关知识. 通常来说,TCP建立连接的过程相对稳定,因为此时并未开始进行数据交换:而断开连接的过程由于已发生了数据交换,可能会发生一些预想不到的情况. 单方面断开连接带来的问题 前文所述的内容中,我们直接调用了close函数进行了完全断开连接,这就意味着本端既无法再发送数据,也不能再接收数据了.而如果本端仅仅希望不再发送数据,还能够接收数据的话,直接调用close完全断开连接则显得不够优雅.因此,我们需要一种“只关闭一部分数据交换中使用的流”(Half-cl

TCP/IP网络编程 学习笔记_8 --优雅地断开套接字连接

基于TCP的半关闭 TCP中的断开连接过程比建立连接过程更重要,因为建立连接过程一般不会出现什么大的变数,但断开过程就有可能发生预想不到的情况,因此要准确的掌控. 单方面断开连接带来的问题 Linux的close函数和Windows的closesocket函数是完全断开连接.完全断开是指无法传输数据也不能接收数据.因此,一方这样直接断开连接就显得不太优雅了.如:主机A发送完最后的数据后,调用close函数单方断开了连接,那么最终,由主机B传输的,主机A必须接收的确认数据也销毁了(四次握手). 为