from socket import *
from time import ctime
HOST = ''
PORT = 12345
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 'connected from:',addr
while True:
data = tcpCliSock.recv(BUFSIZE)
if not data:
break
tcpCliSock.send('[%s]%s'%(ctime(),data))
tcpCliSock.close()
tcpSerSock.close()
from socket import *
HOST = 'localhost'
PORT = 12345
ADDR = (HOST,PORT)
BUFSIZE = 1024
tcpCliSock = socket(AF_INET,SOCK_STREAM)
tcpCliSock.connect(ADDR)
while True:
data = raw_input('input:')
if not data:
break
tcpCliSock.send(data)
data = tcpCliSock.recv(BUFSIZE)
if not data:
break
print data
tcpCliSock.close()
from socket import *
from time import ctime
HOST = ''
PORT = 12345
BUFSIZE = 1024
ADDR = (HOST,PORT)
udpSerSock = socket(AF_INET,SOCK_DGRAM)
udpSerSock.bind(ADDR)
while True:
print 'waiting for message...'
data, addr = udpSerSock.recvfrom(BUFSIZE)
udpSerSock.sendto('[%s]%s'%(ctime(),data),addr)
print 'received from and returned to :',addr
udpSerSock.close()
from socket import *
HOST = 'localhost'
PORT = 12345
ADDR = (HOST,PORT)
BUFSIZE = 1024
udpCliSock = socket(AF_INET,SOCK_DGRAM)
while True:
data = raw_input('input:')
if not data:
break
udpCliSock.sendto(data,ADDR)
data,ADDR = udpCliSock.recvfrom(BUFSIZE)
if not data:
break
print data
udpCliSock.close()
# -*- coding: cp936 -*-
from SocketServer import (TCPServer as TCP,StreamRequestHandler as SRH)
from time import ctime
HOST = ''
PORT = 1234
ADDR = (HOST,PORT)
#继承StreamRequestHandler类
class MyRequestHandler(SRH):
#重写方法handle
def handle(self):
print 'connected from :',self.client_address
data = self.rfile.readline()
self.wfile.write('[%s]%s'%(ctime(),data))
tcpServer = TCP(ADDR,MyRequestHandler)
print 'waiting for connection'
tcpServer.serve_forever()
# -*- coding: cp936 -*-
from socket import *
HOST = 'localhost'
PORT = 1234
ADDR = (HOST,PORT)
BUFSIZE = 1024
while True:
tcpCliSock = socket(AF_INET,SOCK_STREAM)
tcpCliSock.connect(ADDR)
data = raw_input('输入:')
if not data:
break
tcpCliSock.send('%s\n'%data) #如果没有'%s\n'收不到,因为是一行行读的
data = tcpCliSock.recv(BUFSIZE)
if not data:
break
print data
tcpCliSock.close()