server:

 #!/usr/bin/python

 import socket
import threading
import time def tcplink(sock, addr):
print 'accept new connection from %s:%s...' % addr
sock.send('welcome to hahaha!')
while True:
data = sock.recv(1024)
time.sleep(1)
if data == 'exit' or not data:
break
print 'recv msg: %s from %s' % (data,addr)
sock.send('hello,%s!' % data)
sock.close()
print 'connection from %s:%s closed.' % addr s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(('0.0.0.0',9999))
s.listen(5)
print 'waiting for connection...' while True:
sock, addr = s.accept()
tt = threading.Thread(target=tcplink,args=(sock,addr))
tt.start()

client:

 #!/usr/bin/python

 import socket

 s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('127.0.0.1',9999))
print 'recv msg:%s' % s.recv(1024) while True:
data = raw_input('input sth:')
if not data:
continue
if data == 'exit':
break
s.send(data)
print 'recv msg:%s' % s.recv(1024)
s.close()

最新文章

  1. Android ORM -- Litepal(2)
  2. 黑马程序员——【Java高新技术】——代理
  3. SDWebImageManager.m:244:22: Too many arguments to function call, expected 0,have 5
  4. three.js 根据png生成heightmap
  5. RegexKitLite 正则表达式
  6. 可选的Web Components类库
  7. [转载]test后跟je
  8. 《CSS网站布局实录》学习笔记(六)
  9. USB设备在连接PC时的reset从何而来?
  10. 往Amazon上upload bundle经常中断的处理方法
  11. ajax 跨域了 cors
  12. @ModelAttribute--SpringMVC 注解系列文章(二)
  13. C++语言编译系统提供的内部数据类型的自动隐式转换
  14. Java中JSON之全
  15. 线性回归和Logistic回归
  16. Codeforces 659 - A/B/C/D/E/F/G - (Undone)
  17. Java LinkedList工作原理及实现
  18. PHP程序员的进阶之路
  19. Linux常用软件整理
  20. 洛谷P2414 阿狸的打字机【AC自动机】【fail树】【dfs序】【树状数组】

热门文章

  1. SGML/HTML/XML之间的关系
  2. Java的参数传递是值传递还是引用传递
  3. 开源API测试工具 Hitchhiker v0.8 - 自动化测试结果统计
  4. MySQL如何插入测试数据
  5. unison+inotify实现数据双向同步
  6. Jfinal启动源码解读
  7. python递归查找文件目录
  8. msf向存在漏洞的apk注入payload
  9. 基于Windows下python环境变量配置
  10. HDU 1019 Least Common Multiple【gcd+lcm+水+多个数的lcm】