python网络编程

#testser.py

#coding=utf-8
from socket import *
from time import ctime

HOST = ""
PORT = 50000
BUFSIZ = 1024
ADDR = (HOST,PORT)

# 套接字定义方法:socket(socket_family,socket_type,protocol = 0)
# 套接字有两种:基于文件的AF_UNIX(AF_LOCAL为升级版)和基于网络的AF_INET
# 每一种套接字都可以分为面向连接的SOCK_STREAM、无连接的SOCK_DGRAM
tcpserversock = socket(AF_INET,SOCK_STREAM)
# 绑定地址(主机名,端口)到套接字
tcpserversock.bind(ADDR)
# listen()表示最多允许多少个连接进来,而后的将被拒绝掉。
tcpserversock.listen(5)

while True:
    print "waiting for connection..."
    # accept() -> (socket object, address info) Wait for an incoming connection.  
    # Return a new socket representing the connection, and the address of the client.  
    # For IP sockets, the address info is a pair (hostaddr, port).
    tcpclientsock,addr = tcpserversock.accept()
    print "...connected from:",addr

    while True:
        # recv(buflen[, flags]) -- receive data
        data = tcpclientsock.recv(BUFSIZ)
        if not data:
            break
        tcpclientsock.send('[%s] %s'% (ctime(),data))
        if data == '':
            tcpclientsock.close()
tcpserversock.close()

    

#testcli.py

from socket import *

HOST = "127.0.0.1"
PORT = 50000
BUFSIZE = 1024
ADDR = (HOST,PORT)

socketclient = socket(AF_INET,SOCK_STREAM)
socketclient.connect(ADDR)

while True:
	data = raw_input('>')
	if not data:
		break
	socketclient.send(data)
	data = socketclient.recv(BUFSIZE)
	if not data:
		break
	print data
	
socketclient.close()

  

  

posted @ 2015-08-08 13:35  “人生苦短”  阅读(193)  评论(0编辑  收藏  举报