前置知识:Python基础语法,socket库

tips:

1. 默认HOST_IP:127.0.0.1

2. 默认HOST_PORT:7676

参考代码:

1. 客户端程式

#!/usr/bin/env python
# encoding: utf-8
import socket
import os
import sys
import time
import traceback reload(sys)
sys.setdefaultencoding("utf-8") def SocketInit():
try:
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
except Exception as e:
print "[-]Socket Create Error"
sys.exit(-1)
else:
print "[*]Socket Create Success"
return s def Conn(s,host,port):
while 1:
try:
s.connect((host,port))
except Exception as e:
print "[-]Socket Connect Error"
#traceback.print_exc()
time.sleep(2)
#sys.exit(-1)
else:
print "[*]Socket Connect Success"
break def main():
host = "127.0.0.1"
port = 7676
sC = SocketInit()
Conn(sC, host, port)
print sC.recv(1024)
try:
while 1:
Str_buffer = raw_input(host+":"+str(port)+">")
try:
sC.send(Str_buffer)
except Exception as e:
print "[-]Can not send Data"
else:
recv_buffer = sC.recv(1024)
if not recv_buffer:
print "[-]Server is Off"
else:
print recv_buffer
except KeyboardInterrupt:
sC.close()
sys.exit(0) if __name__ == '__main__':
main()

2. 服务端程式

#!/usr/bin/env python
# encoding: utf-8
import socket
import os
import sys
import time reload(sys)
sys.setdefaultencoding("utf-8") def SocketInit():
try:
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
except Exception as e:
print "[-]Socket Create Error"
sys.exit(-1)
else:
print "[*]Socket Create Success"
return s def BindSocket(s,host,port):
try:
s.bind((host,port))
except Exception as e:
print "[-]Socket Bind Error"
sys.exit(-1)
else:
print "[*]Socket Bind Success" def main():
host = "127.0.0.1"
port = 7676
sS = SocketInit()
BindSocket(sS, host, port)
sS.listen(1) try:
print "[+]Waiting for Connect ..."
sC,addr = sS.accept()
except Exception as e:
print "[-]Server Accept Error"
sys.exit(-1)
sC.send("[*]Welcome to PeterZ-Server") print "[*]Connect to %s:%d" % (addr[0],addr[1]) while 1:
try:
Str_buffer = sC.recv(1024)
Send_buffer = "%s:%s(%s)>%s" % (addr[0],addr[1],time.ctime(),Str_buffer)
sC.send(Send_buffer)
print Send_buffer
except KeyboardInterrupt:
sS.close()
sC.close()
sys.exit(0)
except Exception:
print "[-]Client is down"
sys.exit(0) if __name__ == '__main__':
main()

最新文章

  1. Global Mapper Lidar点云分类
  2. Mongo中append方法使用
  3. MYCAT介绍
  4. PHPNow升级PHP版本的方法
  5. lightoj 1198 最大权重匹配
  6. SpringMVC入门2-注解开发
  7. sql 创建临时表
  8. UVA1455 - Kingdom(并查集 + 线段树)
  9. PHPCMS v9点击量增加值加大的方法
  10. 初学者没有搞明白的GOROOT,GOPATH,GOBIN,project目录
  11. Spring注解简介
  12. python selenium-webdriver 等待时间(七)
  13. 解决Django + DRF:403 FORBIDDEN:CSRF令牌丢失或不正确,{"detail":"CSRF Failed: CSRF cookie not set."}
  14. hiredis 使用 linux c++
  15. (转)公有云vr客户端tcp连接数太多造成 系统卡顿问题 [bittorrent tracker优化] -公有云常见网络问题及思路
  16. windows用户态程序的Dump
  17. 观察者设计模式( Observable类Observer接口)
  18. 结对作业——随机生成四则运算(Core 第7组)
  19. Linux基础命令之文件过滤及内容编辑处理(二)
  20. prim算法记录路径

热门文章

  1. .net 开源模板引擎jntemplate 实战演习:基础篇之入门
  2. Linux速通 大纲
  3. Python工程师学习之旅
  4. 200-Java语言基础-Java编程入门-004 | Java分支与循环
  5. 虚拟机安装centos系统【史上最详细的】
  6. vue+lib-flexible实现大小屏幕,超大屏幕的适配展示。
  7. CF482E ELCA
  8. Python中树的遍历-堆排序
  9. Balanced Diet Gym - 102220B
  10. 【linux】驱动-2-内核模块