Socket 的网络编程

socket 网络编程的服务端:

1) 创建socket 套接字。  

2) 和socket绑定主机地址和端口

3) socket 主动监听端口,看又没有来连接。

4) 当执行到 accept() 时, 被动地等待连接来到。 阻塞。 当连接来到时, 调用, 返回与客户端通信的socket,和客户的addr : ip + 新的通信端口。

5) resv() ,,   send()

 

 

from socket import *
from time import ctime

HOST='127.0.0.1'
PORT = 1111
BUFSIZE= 1024
ADDR = (HOST,PORT)

tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)

while True:
    print 'waiting for connection...'
    tcpCliSock, addr = tcpSerSock.accept()

    print '...connection from:', addr

    while True:
        data = tcpCliSock.recv(BUFSIZE)
        print data
        if not data:
            break
        tcpCliSock.send('[%s] %s' %(ctime(), data))
        if data == None:
            tcpCliSock.close()

tcpSerSock.close()

 

 

socket 客户端编程:

1) 创建客户端的socket 

 2)   调用 connet( addr ) 连接 服务器addr

 3)  数据的发送和接受。

 

from socket import *
from time import ctime

HOST='127.0.0.1'
PORT = 1111
BUFSIZE= 1024
ADDR = (HOST,PORT)

tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(1)

while True:
    print 'waiting for connection...'
    tcpCliSock, addr = tcpSerSock.accept()

    print '...connection from:', addr

    while True:
        data = tcpCliSock.recv(BUFSIZE)
        print data
        if not data:
            break
        tcpCliSock.send('[%s] %s' %(ctime(), data))
        if data == None:
            tcpCliSock.close()

tcpSerSock.close()

 

posted @ 2018-12-28 20:58  清湾大威少  阅读(204)  评论(0编辑  收藏  举报