windows   --> windows 写法均在py3.6

客户端写法

import socket

client = socket.socket()

client.connect(('192.168.88.1', 9001))
while 1:
data_recv = client.recv(1024).decode('utf-8')
print(data_recv) data_sent = input('client:')
client.send(data_sent.encode('utf-8'))
if data_sent == 'exit':
break client.close()

服务端写法

import socket

server = socket.socket()
server.bind(('192.168.88.1', 9001))
server.listen(5)
print('等待链接中。。。。。')
conn, addr = server.accept() # 监听返回 链接和 地址
print('connect succeed !')
while 1:
data_send = input('server:')
conn.send(data_send.encode('utf-8')) data_recv = conn.recv(1024)
print(data_recv.decode('utf-8')) if data_recv.decode('utf-8') == 'exit':
break conn.close()

服务端Linux(py2.7) 客户端 windows(py3.6)

linux 服务端

#!usr/bin/bash pyhton
#_*_ coding:utf8 _*_ # 支持中文 公网聊天 import socket
import sys
reload(sys)
sys.setdefaultencoding('utf-8') # 为了支持中文 加入以上代码 server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 参数的作用是指定协议 必须加
addr_port = ('172.17.226.72',3389) # Linux 中不准绑定公有ip 服务端必须绑定公网ip 端口必须是开放的
server.bind(addr_port)
server.listen(5)
conn,addr = server.accept()
print('connect succeet')
while 1:
data_send = raw_input('server:')
conn.send(data_send.encode('utf-8')) data = conn.recv(1024)
print(data.decode('utf-8')) conn.close()

windows 客户端写法

import socket
test = socket.socket() test.connect(('39.106.40.169', 3389)) # 链接公网ip 与对应端口
while 1:
data = test.recv(1024).decode('utf-8')
print(data)
data_send = input('-----')
test.send(data_send.encode('utf-8'))

用python实现一个简单的socket网络聊天通讯 (Linux --py2.7平台与windows--py3.6平台)的更多相关文章

  1. 用Python写一个简单的Web框架

    一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...

  2. python学习之路-9 socket网络编程

    socket基础 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. so ...

  3. 用Python编写一个简单的Http Server

    用Python编写一个简单的Http Server Python内置了支持HTTP协议的模块,我们可以用来开发单机版功能较少的Web服务器.Python支持该功能的实现模块是BaseFTTPServe ...

  4. python中一个简单的webserver

     python中一个简单的webserver 2013-02-24 15:37:49 分类: Python/Ruby 支持多线程的webserver   1 2 3 4 5 6 7 8 9 10 11 ...

  5. Python实现一个简单三层神经网络的搭建并测试

    python实现一个简单三层神经网络的搭建(有代码) 废话不多说了,直接步入正题,一个完整的神经网络一般由三层构成:输入层,隐藏层(可以有多层)和输出层.本文所构建的神经网络隐藏层只有一层.一个神经网 ...

  6. python实现一个简单的网络聊天程序

    一.Linux Socket 1.Linux Socke基本上就是BSD Socket(伯克利套接字) 伯克利套接字的应用编程接口(API)是采用C语言的进程间通信的库,经常用在计算机网络间的通信.B ...

  7. python 实现一个简单tcp epoll socket

    python 实现一个epoll server #!/usr/bin/env python #-*- coding:utf-8 -*- import socket import select impo ...

  8. Python 全栈开发十 socket网络编程

    一.客户端(client)服务端(sever)架构 在计算机中有很多常见的C/S架构,例如我们的浏览器是客户端.而百度网站和其他的网站就是服务端:视频软件是客户端,提供视频的腾讯.优酷.爱奇艺就是服务 ...

  9. python第八周:socket网络编程

    1.socket网络编程 1.1概念: 网络套接字是跨计算机网络的连接的端点.今天,计算机之间的大多数通信都基于互联网协议;因此大多数网络套接字都是Internet套接字.更准确地说,套接字是一个句柄 ...

随机推荐

  1. 【CF840C】On the Bench DP

    [CF840C]On the Bench 题意:给你一个长度为n的数组{ai},定义一个1到n的排列是合法的,当且仅当对于$1\le i <n$,$a_i\times a_{i+1}$不是完全平 ...

  2. Unity3D 面试ABC

    最先执行的方法是: 1.(激活时的初始化代码)Awake,2.Start.3.Update[FixUpdate.LateUpdate].4.(渲染模块)OnGUI.5.再向后,就是卸载模块(TearD ...

  3. PyCharm 4.0.4 开启代码自动补全

    目前在使用的PyCharn 版本为4.0.4,在使用的过程中无法使用代码补全功能,经过Google 搜索只需要修改两处即可实现代码补全 1 选择File-Setting-Inspections 找到对 ...

  4. Python重要基础点

    这里记录一些实际编写代码时遇到的常用/重要的内容,有前辈的,也有自己整理加进来的. 以点的形式记录,之后遇到的内容会慢慢补充进来 1. 斜杠 / :斜字第一笔, 转义用反斜杠 \ : 转的最后一笔 2 ...

  5. HOJ 1444 Humble Numbers

    Humble Numbers My Tags (Edit) Source : University of Ulm Internal Contest 1996 Time limit : 1 sec Me ...

  6. PAT天梯赛L2-003 月饼【贪心】

    L2-003. 月饼 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不 ...

  7. HDU 4514 - 湫湫系列故事——设计风景线 - [并查集判无向图环][树形DP求树的直径]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4514 Time Limit: 6000/3000 MS (Java/Others) Memory Li ...

  8. 浅谈jvm中的垃圾回收策略

    下面小编就为大家带来一篇浅谈jvm中的垃圾回收策略.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧   java和C#中的内存的分配和释放都是由虚拟机自动管理的,此前我已 ...

  9. tcpdump 学习

    简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...

  10. Java Hash Collision之数据生产

    上一篇文章一种高级的DoS攻击-Hash碰撞攻击我通过伪造Hash Collision数据实现了对Java的DoS攻击,下面说说如何生产大量的攻击数据. HashTable是一种非常常用的数据结构.它 ...