server:

import socket as s
import threading as t
bind_ip = "0.0.0.0"
bind_port = 80
#配置服务器监听的IP地址和端口号,这里为缺省配置,默认接收来自所有的ip发送到80端口的信息

server = s.socket(s.AF_INET,s.SOCK_STREAM)
#确定套接字的连接类型和连接依据的类型

server.bind((bind_ip,bind_port))
#确定服务的监听的端口和ip并开始启动监听

server.listen(5)
#配置服务的最大连接数量

print ("[*]Listening on %s:%d" % (bind_ip,bind_port))

#该函数为处理客户端的线程
def handle_client(client_socket):
request = client_socket.recv(1024)
  #将recv()函数之后的信息发送到客户端

  print "[*]Receoved:%s"% request
  client_socket.send("ACK+1")
  #返还ACK+1的内容到client
  client_socket.close()
while True:
  client , addr = server.accept()
  #将接收到的客户端套接字对象保存到client变量里,将远程的细节保存到addr中

  print ("[*] Accepted connection from:%s:%d" % (addr[0],addr[1]))
  client_handler = t.Thread(target=handle_client,args = (client,))
  #以client_handle函数为回调函数创建一个新的线程对象,将客户端套接字作为一个句柄传递给它

  client_handler.start
  #启动client_handler

client:

import socket as s
target_host = "192.168.66.6"
target_port = 80
client = s.socket(s.AF_INET,s.SOCK_STREAM)
#建立一个socket对象

client.connect((target_host,target_port))
#连接server

client.send("Bydream")
#发送一些数据(Bydream)

response = client.recv(80)
#接收一些数据

server和client的测试验证

TCP的client和server的简单连接的更多相关文章

  1. asyncio标准库5 TCP echo client and server

    server import asyncio async def handle_echo(reader, writer): data = await reader.read(100) message = ...

  2. go http client, http server

    Go语言中的HTTP client, server非常简单.具体如下. HTTP Server package main import ( "fmt" "html&quo ...

  3. ESP8266 station模式下建立client、server TCP连接

    程序实现内容: 1.在station模式下,ESP8266作为client.server进行TCP连接2.实现数据的发送.接收(同时回传)实现思路:TCP网络通信分层为:应用层.网络层.数据链路层.物 ...

  4. Android简单的聊天室开发(client与server沟通)

    请尊重他人的劳动成果.转载请注明出处:Android开发之简单的聊天室(client与server进行通信) 1. 预备知识:Tcp/IP协议与Socket TCP/IP 是Transmission ...

  5. C#使用 SSL Socket 建立 Client 与 Server 连接

    当 Client 与 Server 需要建立一个沟通的管道时可以使用 Socket 的方式建立一个信道,但是使用单纯的 Socket 联机信道可能会担心传输数据的过程中可能被截取修改因而不够安全,为了 ...

  6. 并发编程概述 委托(delegate) 事件(event) .net core 2.0 event bus 一个简单的基于内存事件总线实现 .net core 基于NPOI 的excel导出类,支持自定义导出哪些字段 基于Ace Admin 的菜单栏实现 第五节:SignalR大杂烩(与MVC融合、全局的几个配置、跨域的应用、C/S程序充当Client和Server)

    并发编程概述   前言 说实话,在我软件开发的头两年几乎不考虑并发编程,请求与响应把业务逻辑尽快完成一个星期的任务能两天完成绝不拖三天(剩下时间各种浪),根本不会考虑性能问题(能接受范围内).但随着工 ...

  7. TCP/UDP通信中server和client是如何知道对方IP地址的

    在TCP通信中 client是主动连接的一方,client对server的IP的地址提前已知的.如果是未知则是没办法通信的. server是在accpet返回的时候知道的,因为数据包中包含客户端的IP ...

  8. tcp 服务端如何判断客户端断开连接

    一篇文章:   最近在做一个服务器端程序,C/S结构.功能方面比较简单就是client端与server端建立连接,然后发送消息给server.我在server端会使用专门的线程处理一条socket连接 ...

  9. TCP/IP、Http、Socket 简单理解

    转自:http://blog.csdn.net/guyan0319 https://blog.csdn.net/guyan0319/article/details/79404216 一. 什么是TCP ...

随机推荐

  1. 根据对象,返回'&键名=值&键名=值‘形式

    Object.prototype.srcCode=function () { var str=''; for(key in this){ if (this.hasOwnProperty(key) == ...

  2. Renice INC:全球经济危机持续,2021年红酒市场走向如何?

    2021年,全球经济危机仍在持续,很多国家的经济出现了严重的下滑,不得不以降低利率维持经济.那么,全球经济危机对于红酒市场有什么影响?2021年,红酒市场走势如何呢?近日,美国知名红酒公司伦尼斯公司对 ...

  3. 在.NET中使用Apache Kafka(一)

    ​曾经在你的应用程序中使用过异步处理吗?在处理不需要立即执行的任务时,异步代码似乎是不可避免的.Apache Kafka是最常用和最健壮的开源事件流平台之一.许多公司和开发者利用它的强大功能来创建高性 ...

  4. js 实现红绿灯变换

    class LightFn{ async run(){ while(true){ console.log('this is green 3000'); await this.sleep(3000); ...

  5. 微信小程序(一)-工具创建和结构配置说明 Stable Build

    按装前特别说明: windows最好下载32位的,不然用到用到后面就出现"网络连接失败",然后就登录不上去了,打不开编辑器了! 问题 : 微信开发者工具网络连接失败, " ...

  6. Windows开发常用快捷键

    毕业后一直在从事Windows开发工作,掌握些常用的Windows快捷键可以大大的提升工作效率,同时还能秀一波操作.本文记录在工作中常用的Windows快捷键,以及VS常用快捷键.掌握了这些键盘操作, ...

  7. 树莓派4B安装官方Ubuntu20 Server版(64位)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. js浅拷贝(地址引用)和深拷贝(克隆)

    浅拷贝和深拷贝相对于引用类型而言的. js有两大类型值类型(基本数据类型)和引用类型(object,function,array): 值类型保存在栈上,引用类型保存在堆上. 浅拷贝只是单纯的拷贝对象的 ...

  9. Spring 中的事务

    前言: 之前总结了事务以及数据库中事务相关的知识点,Spring 对于事务做了相应的封装,便于业务开发中使用事务. 项目中使用Spring中的事务首先时基于Mysql数据库中InnoDB 引擎的,如果 ...

  10. pip安装更新模块,以及执行更新所有模块

    moudle_name:是对应的模块名:请自行更换为自己需要更新的模块名 查看所有可更新的模块: pip list --outdated 更新某一个模块: pip install --upgrade ...