python socket模块

基于网络的套接字:AF_INET有两种协议,面向连接的协议TCP: SOCK_STREM,
无连接的协议UDP:SOCK_DGRAM

服务端:
socket.socket():创建套接字socket.AF_INET,socket.SOCT_STREAM
socket.bind():绑定地址(IP地址和端口号)到套接字
socket.listen():开始TCP监听
socket.accept():被动接受客户端连接,(阻塞式)等待连接的到来

一个简单服务端

#coding:utf-8
import socket, time
#创建基于网络套接字的TCP连接
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM )
s.bind(('0.0.0.0', 1234))
s.listen()
while True:
    print 'start......'
    sockobj, addr=s.accept()
    print 'client IP:' , addr
    while True:
        data=sockobj.recv(1024)
        if not data:
            break
        sockobj.send(str(time.time()))
    sockobj.close()
s.close()

客户端

socket.connect():主动初始化服务器的连接
socket.connect_ex():connect的扩展版本,出错时返回错误码,而不是抛出异常

#coding:utf-8
import socket 
host=('192.168.1.102', 1234)
c=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
c.connect(host)
while True:
    mesg=raw_input("send>:")
    c.send(mesg)
    data=c.recv(1024)
    print data
    
c.cloce()

 

posted @ 2014-09-30 01:21  ppingg  阅读(471)  评论(0编辑  收藏  举报