1.安装:
2.文档:
https://docs.python.org/3/library/socket.html
3.
Client.py
"""
import socket
HOST = "127.0.0.1"
PORT = 3333
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
while 1:
cmd = raw_input('Your command:').strip()
s.sendall(cmd)
result = s.recv(1024)
print result
s.close()
"""
import socket
import sys
host = '127.0.0.1'
port = 8888
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print 'Socket Create'
remote_ip = socket.gethostbyname(host)
print 'Ip address of ' + host + ' is ' + remote_ip
s.connect((remote_ip,port))
print 'Socket Connected to ' + host + ' on ip ' + remote_ip
message = 'Hello'
s.sendall(message)
print 'Message send successfully'
reply = s.recv(4096)
print reply
s.close()
Server.py
"""
import SocketServer, os
class MyTCPHandler(SocketServer.BaseRequestHandler):
def handle(self):
while True:
self.data = self.request.recv(1024).strip()
print "{}wrote:".format(self.client_address[0])
if not self.data:
print "clilent %s is dead!" % self.client_address[0]
break
cmd_result = os.popen(self.data).read();
if len(cmd_result.strip()) != 0:
self.request.sendall(cmd_result)
else:
self.request.sendall('Not found the command:' + self.data)
if __name__ == "__main__":
HOST, PORT = "127.0.0.1", 3333
server = SocketServer.ThreadingTCPServer((HOST, PORT), MyTCPHandler)
server.serve_forever()
"""
import socket
import sys
import thread
HOST = ''
PORT = 8888
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
a = socket.getdefaulttimeout()
print 'Socket created'
try:
s.bind((HOST,PORT))
except socket.error , msg:
print(str(msg[0])+' '+str(msg[1]))
sys.exit()
print 'Socket bind complete'
s.listen(2)
print 'Socket now listening'
def clientthread(conn):
conn.send('Welcome to the server. Type somthing and hit enter\n')
print(a)
while True:
#try:
data = conn.recv(9999)
reply = 'OK....' + data
#except socket.error , msg:
#print(str(msg[0])+' '+str(msg[1]))
#sys.exit()
if not data:
break
conn.sendall(reply)
conn.close()
while 1:
conn,addr = s.accept()
print 'Connected with ' + addr[0] + ':' + str(addr[1])
thread.start_new_thread(clientthread ,(conn,))
s.close()