python实现socket通讯(TCP)
来源:互联网 发布:张子萱的淘宝店 编辑:程序博客网 时间:2024/06/10 17:24
python实现socket通讯(TCP)
分类: Linux Script2010-10-27 15:49 6457人阅读 评论(0) 收藏 举报
Server:
- # server
- import socket
- address = ('127.0.0.1', 31500)
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # s = socket.socket()
- s.bind(address)
- s.listen(5)
- ss, addr = s.accept()
- print 'got connected from',addr
- ss.send('byebye')
- ra = ss.recv(512)
- print ra
- ss.close()
- s.close()
Client:
- # client
- import socket
- address = ('127.0.0.1', 31500)
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- s.connect(address)
- data = s.recv(512)
- print 'the data received is',data
- s.send('hihi')
- s.close()
运行结果:
server
[work@db-testing-com06-vm3.db01.baidu.com python]$ python server.py
got connected from ('127.0.0.1', 47872)
hihi
client
[work@db-testing-com06-vm3.db01.baidu.com python]$ python client.py
the data received is byebye
==============================================================================
参考资料:http://www.cppblog.com/lai3d/archive/2008/02/19/42919.html
一个简单的服务器和客户端通信的例子
服务器:
import socket
s=socket.socket()
s.bind(('xxx.xxx.xxx.xxx',xxxx)) #ip地址和端口号
s.listen(5)
cs,address = s.accept()
print 'got connected from',address
cs.send('byebye')
ra=cs.recv(512)
print ra
cs.close()
s=socket.socket()
s.bind(('xxx.xxx.xxx.xxx',xxxx)) #ip地址和端口号
s.listen(5)
cs,address = s.accept()
print 'got connected from',address
cs.send('byebye')
ra=cs.recv(512)
print ra
cs.close()
客户端:
import socket
s=socket.socket()
s.connect(('xxx.xxx.xxx.xxx',xxxx)) #与服务器程序ip地址和端口号相同
data=s.recv(512)
s.send('hihi')
s.close()
print 'the data received is',data
s=socket.socket()
s.connect(('xxx.xxx.xxx.xxx',xxxx)) #与服务器程序ip地址和端口号相同
data=s.recv(512)
s.send('hihi')
s.close()
print 'the data received is',data
运行:
在本机测试(windows环境下,可以将ip地址改为本机ip,端口号在1024以上,windows将1024以下的为保留),运行--CMD--进入命令行模式
先python 服务器程序,后python 客户端程序即可。
或者启动服务器程序后,用telnet ip地址 端口号,也可以得到同样结果。
让server持续接受连接
server.py
import socket
s=socket.socket()
s.bind(('192.168.43.137',2000))
s.listen(5)
while 1:
cs,address = s.accept()
print 'got connected from',address
cs.send('hello I am server,welcome')
ra=cs.recv(512)
print ra
cs.close()
s=socket.socket()
s.bind(('192.168.43.137',2000))
s.listen(5)
while 1:
cs,address = s.accept()
print 'got connected from',address
cs.send('hello I am server,welcome')
ra=cs.recv(512)
print ra
cs.close()
测试两个一个程序中两个socket并存是否可行
client.py
import socket
s=socket.socket()
s.connect(('192.168.43.137',2000))
data=s.recv(512)
print 'the data received is/n ',data
s.send('hihi I am client')
sock2 = socket.socket()
sock2.connect(('192.168.43.137',2000))
data2=sock2.recv(512)
print 'the data received from server is/n ',data2
sock2.send('client send use sock2')
sock2.close()
s.close()
s=socket.socket()
s.connect(('192.168.43.137',2000))
data=s.recv(512)
print 'the data received is/n ',data
s.send('hihi I am client')
sock2 = socket.socket()
sock2.connect(('192.168.43.137',2000))
data2=sock2.recv(512)
print 'the data received from server is/n ',data2
sock2.send('client send use sock2')
sock2.close()
s.close()
- python实现socket通讯(TCP)
- python实现socket通讯(TCP)
- python实现socket通讯(TCP)
- python实现socket通讯
- python实现socket通讯(UDP)
- TCP通讯socket自定义协议的实现
- python3.5实现socket通讯(TCP)
- Python实现socket通信 (tcp)
- socket通讯之TCP
- Socket的TCP通讯
- java Socket TCP通讯
- TCP编程,Socket通讯
- Socket TCP聊天通讯
- TCP socket通讯
- ios实现基于socket tcp/ip 的通讯
- ios实现基于socket tcp/ip 的通讯
- ios实现基于socket tcp/ip 的通讯
- ios实现基于socket tcp/ip的通讯
- 外媒评2013年十大创新社交媒体公司
- 黑马程序员_java入门_异常
- [转]做美好的人,做酷的事
- Spring 3.1配置文件示例
- 简单的java小程序之一键测网速
- python实现socket通讯(TCP)
- avi编码格式以及查看的视频编码方式的小工具
- java nio实例一
- hdu1286 找新朋友
- DOM4J
- httpclient 参数详解
- Marzullo's algorithm
- java类中读取资源文件
- oracle 存储过程