用python实现一个简单的socket网络聊天通讯 (Linux --py2.7平台与windows--py3.6平台)
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平台)的更多相关文章
- 用Python写一个简单的Web框架
一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...
- python学习之路-9 socket网络编程
socket基础 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. so ...
- 用Python编写一个简单的Http Server
用Python编写一个简单的Http Server Python内置了支持HTTP协议的模块,我们可以用来开发单机版功能较少的Web服务器.Python支持该功能的实现模块是BaseFTTPServe ...
- python中一个简单的webserver
python中一个简单的webserver 2013-02-24 15:37:49 分类: Python/Ruby 支持多线程的webserver 1 2 3 4 5 6 7 8 9 10 11 ...
- Python实现一个简单三层神经网络的搭建并测试
python实现一个简单三层神经网络的搭建(有代码) 废话不多说了,直接步入正题,一个完整的神经网络一般由三层构成:输入层,隐藏层(可以有多层)和输出层.本文所构建的神经网络隐藏层只有一层.一个神经网 ...
- python实现一个简单的网络聊天程序
一.Linux Socket 1.Linux Socke基本上就是BSD Socket(伯克利套接字) 伯克利套接字的应用编程接口(API)是采用C语言的进程间通信的库,经常用在计算机网络间的通信.B ...
- python 实现一个简单tcp epoll socket
python 实现一个epoll server #!/usr/bin/env python #-*- coding:utf-8 -*- import socket import select impo ...
- Python 全栈开发十 socket网络编程
一.客户端(client)服务端(sever)架构 在计算机中有很多常见的C/S架构,例如我们的浏览器是客户端.而百度网站和其他的网站就是服务端:视频软件是客户端,提供视频的腾讯.优酷.爱奇艺就是服务 ...
- python第八周:socket网络编程
1.socket网络编程 1.1概念: 网络套接字是跨计算机网络的连接的端点.今天,计算机之间的大多数通信都基于互联网协议;因此大多数网络套接字都是Internet套接字.更准确地说,套接字是一个句柄 ...
随机推荐
- 【读书笔记】setsockopt
setsockopt 设置套接口的选项. #include <sys/types.h> #include <sys/socket.h> int setsockopt(int ...
- SOA面向服务的架构
1.关于SOA的定义,目前主要有以下三个: 1)W3C的定义:SOA是一种应用程序架构,在这种架构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,能够以定义好的顺序调用这些服务来形成 ...
- Linux下常用命令wget的使用技巧
Linux下wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,尤其对于网络管理员 经常要下载一些软件或从远程服务器恢复备份到本地服务器.如果我们使用虚拟主机,处理这样的 ...
- 优秀的第二外语学习网站:Lang-8
想要找native speaker帮你提高自己的写作能力么? 目前了解到的这方面最好的网站:http://lang-8.com 在这个网站上,你可以随便写一些句子或文章,然后就会有native spe ...
- mysql数据库恢复
数据库恢复注意事项: # 数据恢复和字符集关联很大,如果字符集不正确会导致恢复的数据乱码. #MySQL命令和source命令恢复数据库的原理就是把文件的SQL语句,在数据库重新执行的过程. 1.利用 ...
- eclipse快速向下复制行
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
- CH0103最短Hamilton路径 & poj2288 Islands and Brigdes【状压DP】
虐狗宝典学习笔记: 取出整数\(n\)在二进制表示下的第\(k\)位 \((n >> ...
- CSS水平导航栏
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 应该掌握的JQuery的7个效果
一: 语法: $(selector).hide(speed,callback); $(selector).show(speed,callback); 实例 //点击隐藏 $("#hide&q ...
- C++三大特性之多态
原文地址:https://qunxinghu.github.io/2016/09/08/C++%20%E4%B8%89%E5%A4%A7%E7%89%B9%E6%80%A7%E4%B9%8B%E5%A ...