# 客服端
# -*- coding: utf-8 -*-
import socket
import threading # from collections import deque
# q = deque(maxlen=3) # server = socket.socket()
# print(server)
# server.bind(("localhost", 2564)) # 绑定端口
# server.listen(2) # 监听
# conn, address = server.accept()
# print(conn)
# conn.sendall(bytes("来自客服端的消息...", encoding="utf-8"))
# while True:
# # server.setblocking(False) # 非阻塞
# # conn, address = server.accept() # 接收连接许可,接受连接并返回(conn,address)
# print(conn, address)
# f_client = conn.recv(1024) # 来自客户端发来的消息
# if f_client:
# print(str(f_client, encoding='utf-8'))
# # s = input("发送至客户端:")
# # if s:
# conn.sendall(bytes('你好', encoding="utf-8"))
# # if server.recv(100): def Server(host, port):
server = socket.socket()
server.bind((host, port))
server.listen(4)
conn, address = server.accept()
m = "来自客户端:"
conn.sendall(bytes(m,encoding="utf-8"))
while True:
client_mess = conn.recv(1024) # 接收客户端消息,最大字节数1024
print(str(client_mess, encoding='utf-8'))
conn.sendall(bytes('你好', encoding='utf-8')) if __name__ == "__main__":
t1 = threading.Thread(target=Server, args=("localhost", 2564,))
t1.start()
# 客户端
# -*- coding: utf-8 -*-
import socket client = socket.socket()
print(client)
client.connect(("localhost", 2564)) # 连接客服端(server)
# client.listen(5)
# conn, address = client.accept()
print(str(client.recv(1024),encoding='utf-8'))
while True:
c = input("发送消息至客服端:")
if c:
client.sendall(bytes(c, encoding="utf-8"))
ret = client.recv(1024) # 打印来自客服端的消息
if ret:
print(str(ret, encoding='utf-8'))

参照:https://www.cnblogs.com/aylin/p/5572104.html#3651306

socket 异步I/O的更多相关文章

  1. socket异步编程--libevent的使用

    使用 libevent 和 libev 提高网络应用性能 http://www.ibm.com/developerworks/cn/aix/library/au-libev/ libevent实现ht ...

  2. Socket异步发送的同步控制

    在网络通信中,我们使用Socket异步发送数据,但在客户端,往往是需要等待服务器的返回结果后(握手过程)再往下执行,这就涉及到同步控制了,在多次的实现中,使用AutoResetEvent,实现不,即有 ...

  3. [转] socket异步编程--libevent的使用

    这篇文章介绍下libevent在socket异步编程中的应用.在一些对性能要求较高的网络应用程序中,为了防止程序阻塞在socket I/O操作上造成程序性能的下降,需要使用异步编程,即程序准备好读写的 ...

  4. .net平台下socket异步通讯(代码实例)

    你应该知道的.net平台下socket异步通讯(代码实例) 1,首先添加两个windows窗体项目,一个作为服务端server,一个作为客户端Client 2,然后添加服务端代码,添加命名空间,界面上 ...

  5. 基于.net的Socket异步编程总结

    最近在为公司的分布式服务框架做支持异步调用的开发,这种新特性的上线需要进行各种严格的测试.在并发性能测试时,性能一直非常差,而且非常的不稳定.经过不断的分析调优,发现Socket通信和多线程异步回调存 ...

  6. 你应该知道的.net平台下socket异步通讯(代码实例)

    1,首先添加两个windows窗体项目,一个作为服务端server,一个作为客户端Client 2,然后添加服务端代码,添加命名空间,界面上添加TextBox控件 using System.Net; ...

  7. C# Socket异步聊天例子

    最近在配合游戏服务器端搞一个客户端通信,客户端是unity搞的,理所当然就高C#了,上手之前先看了一下C# Socket通信这一块,基本不考虑同步方式,而异步方式,微软也提供了两套API,一套是Beg ...

  8. Socket异步通讯

    1.可以通过多线程来解决(一会补上) 2.Socket在tcp/udp两种通信协议下的异步通信: 基于TCP的异步通信: BeginAccept方法和endeaccept方法 包含在System.Ne ...

  9. Socket异步存储示例

    异步客户端存储示例: using System; using System.Net; using System.Net.Sockets; using System.Threading; using S ...

  10. socket 异步选择 WSAAsyncSelect 用法

    WSAAsyncSelect 实现给异步socket给了另一种实现方式,就是通过窗口消息的方式来提醒对socket接收还是发送 msdn有非常全面的解释:https://msdn.microsoft. ...

随机推荐

  1. 问题 C: 查找

    #include <cstdio> #include <vector> #include <algorithm> using namespace std; bool ...

  2. jQuery中校验时间格式的正则表达式小结

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  3. 根据指定id取出数组中指定对象

    // 需求:根据Id取出数组中指定的对象 let arr = [ { id: 1, rotationAngle: 330, target: '目标1' }, { id: 2, rotationAngl ...

  4. Spark学习之路 (三)Spark之RDD[转]

    RDD的概述 什么是RDD? RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变.可分区.里面的元素可并行计算的 ...

  5. 牛客练习赛53 C题bitset

    题目链接https://ac.nowcoder.com/acm/contest/1114/C #include<bits/stdc++.h> using namespace std; #d ...

  6. Doing Homework HDU - 1074 状态压缩

    #include<iostream> #include<cstring> #include<cstdio> #include<string> #incl ...

  7. 【翻译】Facebook全面推出Watch Party,可多人线上同看直播视频

    今天, Facebook全面推出Watch Party——多人共同观看直播功能,用户可以同时查看和评论同一视频. Watch Party先前已在群组中推出,并且正在测试其他类型的帐户.但现在任何个人资 ...

  8. idea软件操作

    1.快捷键: 1.1.格式化代码:crtl+alt+L 1.2.一些构造啊,setter/getter等方法:alt+insert 1.3.crtl + f 搜素当前页面

  9. ansible笔记(14):循环(一)

    在使用ansible的过程中,我们经常需要处理一些返回信息,而这些返回信息中,通常可能不是单独的一条返回信息,而是一个信息列表,如果我们想要循环的处理信息列表中的每一条信息,我们该怎么办呢?这样空口白 ...

  10. Zabbix使用手册

    https://blog.csdn.net/qq_40025218/article/details/81778754