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. linux指定某非root用户执行开机启动项的方法(gogs git)

    以linux指定git用户在linux开机时执行启动gogs git为例: 以root登录linux 执行vi /etc/rc.d/rc.local 在文档末尾添加一行语句:su git -c &qu ...

  2. github命令行下载项目源码

    一.git clone [URL] 下载指定ur的源码 $ git clone https://github.com/jquery/jquery 二.指定参数, -b是分支, --depth 1 最新 ...

  3. linux常用命令之scp详解

    使用scp的前提: 1.服务端启动了sshd服务 2.是本地和远程两端的系统都必须要有scp这个命令.即openssh-clients软件包 [安装方法] [root@ ~]# yum install ...

  4. 【CF932F】Escape Through Leaf 启发式合并set维护凸包

    [CF932F]Escape Through Leaf 题意:给你一棵n个点的树,每个点有树形ai和bi,如果x是y的祖先,则你可以从x花费$a_x\times b_y$的费用走到y(费用可以为负). ...

  5. 【CF884F】Anti-Palindromize 费用流

    [CF884F]Anti-Palindromize 题意:定义一个串是反回文的,当且仅当对于1<=i<=len,$a_i!=a_{len-i+1}$. 现在给出一个长度为n的串S(n是偶数 ...

  6. iOS - 使用WKWebView时OC调JS的user-select属性控制用户操作

    // 页面加载完成之后调用 - (void)webView:(WKWebView *)webView didFinishNavigation:(null_unspecified WKNavigatio ...

  7. Git - Pull Request工作流

    Pull Requests是Bitbucket上方便开发者之间协作的功能.提供了一个用户友好的Web界面,在集成提交的变更到正式项目前可以对变更进行讨论. 开发者向团队成员通知功能开发已经完成,Pul ...

  8. swiper监听左滑还是右滑动

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  9. Django---路由如何配置

    具体配置在项目配置文件夹下的 urls.py: from index import views urlpatterns = [ path('admin/', admin.site.urls), pat ...

  10. 单引号、双引号、int和char

    首先说一下C语言中用单引号和双引号的不同(一直搞不清楚): 单引号代表的是一个整数,而这个整数的值是编译器所采用的字符集中的字符序列对应的值.所以一般'A'和ASCII中的65意义相同.对于双引号定义 ...