网络编程-socket实现循环通信

server

import socket
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
phone.bind((‘127.0.0.1‘,8080))
phone.listen(5)
conn,client_addr=phone.accept()
print(client_addr)
#通信循环
while True:
    data=conn.recv(1024)
    print("Client data:",data)
    conn.send(data.upper())
conn.close()

client

import socket
client=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
client.connect((‘127.0.0.1‘,8080))
#通信循环
while True:
    msg=input(‘>> ‘).strip()
    client.send(msg.encode(‘utf-8‘))
    data=client.recv(1024)
    print(data)
#关闭连接
client.close()

原文地址:https://www.cnblogs.com/yaya625202/p/8947518.html

时间: 2024-11-10 11:33:52

网络编程-socket实现循环通信的相关文章

Python 之 网络编程——SOCKET开发

一.预备知识 对于我们,主要掌握5层协议就行. 物理层: 转成二进制数序列数据链路层: 形成统一的协议:Internet协议 包括数据头(18个字节,前6个字节原地址,中间6个字节为目标地址,后6个字节为数据的描述)和数据网络层: 有IP协议,包括IP头和数据传输层: 包括tcp.UDP两个协议:基于端口(0-65535)的协议应用层: 包括http.ftp协议 TCP协议:流式协议,先把管道修好 客户端   服务端 C-------------------------------->S   <

Android 网络编程 Socket

1.服务端开发 创建一个Java程序 public class MyServer { // 定义保存所有的Socket,与客户端建立连接得到一个Socket public static List<Socket> socketList = new ArrayList<Socket>(); public static void main(String[] args) throws IOException { ServerSocket server = new ServerSocket(

网络编程socket基本API详解(转)

网络编程socket基本API详解 socket socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信. socket起源于UNIX,在Unix一切皆文件哲学的思想下,socket是一种"打开—读/写—关闭"模式的实现,服务器和客户端各自维护一个"文件",在建立连接打开后,可以向自己文件写入内容供对方读取或者读取对方内容,通讯结束时关闭文件. socket 类型 常见的socket有3种类

java网络编程socket\server\TCP笔记(转)

java网络编程socket\server\TCP笔记(转) 2012-12-14 08:30:04|  分类: Socket |  标签:java  |举报|字号 订阅 1 TCP的开销 a  连接协商三次握手,c->syn->s,s->syn ack->c, c->ack->s b  关闭协商四次握手,c->fin->s, s->ack-c,s->fin->c,c->ack->s c  保持数据有序,响应确认等计算开销 d

linux 网络编程 socket bind failed 问题解决

今天写一个简单的socket网络通讯的程序的时候,用ctrl+c结束服务器端程序之后,再次启动服务器出现了bind failed:the address already in use的错误.在网上查了一下以后找到了原因,在此记录一下.这个IBM的官网上说到了这一点:http://www.ibm.com/developerworks/cn/linux/l-sockpit/.详细介绍如下: bind 普遍遭遇的问题是试图绑定一个已经在使用的端口.该陷阱是也许没有活动的套接字存在,但仍然禁止绑定端口(

网络编程Socket之TCP之close/shutdown详解(续)

接着上一篇网络编程Socket之TCP之close/shutdown详解 现在我们看看对于不同情况的close的返回情况和可能遇到的一些问题: 1.默认操作的close 说明:我们已经知道write操作返回成功只能说明数据已经发送到套接字的发送缓冲区,不能代表对端已经成功收到数据,close的默认返回成功也只是成功发出了一个FIN分节,也不代表对端已经确认 问题1:如果中途网络发生故障,很有可能服务端接收不到这个来自客户端的FIN分节: 问题2:假设服务器忙,那么来自客户端的数据由TCP加入到套

java网络编程Socket通信详解

Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Socket.像大家熟悉的QQ.MSN都使用了Socket相关的技术.下面就让我们一起揭开Socket的神秘面纱. Socket编程 一.网络基础知识(参考计算机网络)            关于计算机网络部分可以参考相关博客:           <TCP/IP协议栈及OSI参考模型详解> http://wangdy.blog.51cto.com/3845563/

Python网络编程-Socket简单通信

学习python中使用python进行网络编程,编写简单的客户端和服务器端进行通信,大部分内容来源于网络教程,这里进行总结供以后查阅. 先介绍下TCP的三次握手: 1,简单的发送消息: 服务器端: import socket sk = socket.socket() ip_port = ("127.0.0.1", 8888) sk.bind(ip_port) sk.listen(5) print("正在进行等待接受数据...") conn, address = sk

python网络编程socket (一)

提起网络编程,不同于web编程,它主要是C/S架构,也就是服务器.客户端结构的.对于初学者而言,最需要理解的不是网络的概念,而是python对于网络编程都提供了些什么模块和功能.不同于计算机发展的初级阶段,程序员走到今天,已经脱离了手工打造一切,要自己实现所有细节的年代.现在提倡的是不要重复造轮子,而是学习别人的轮子怎么用,只有那些有需求或能专研的人才去设计轮子甚至汽车,so,这是一个速成的年代. 因此,对于一个面向工作的python程序员,学习python的网络编程,其实学的就是那么几个模块,