您好,登錄后才能下訂單哦!
功能是從客戶端向服務(wù)發(fā)送一個(gè)字符串, 服務(wù)器收到后將字符串重新發(fā)送給客戶端,同時(shí),在連接建立之后,服務(wù)器可以向客戶端發(fā)送任意多的字符串
客戶端:
10.248.27.23是我電腦的IP
import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput destination IP:") # data = raw_input("Plz imput what you want to submit:") port = 51423 s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) try: s.connect((host, port)) except socket.gaierror, e: print "Address-related error connecting to server: %s" %e sys.exit(1) except socket.error, e: print "Connection error: %s" %e sys.exit(1) data = raw_input("Plz imput what you want to submit:") s.send(data) s.shutdown(1) print "Submit Complete" while 1: buf = s.recv(1024) sys.stdout.write(buf)
服務(wù)器:
import socket, traceback host = '' port = 51423 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind((host, port)) s.listen(1) print "done" while 1: #when connect error happen, skip the error try: ClientSock, ClientAddr = s.accept() except KeyboardInterrupt: raise except: traceback.print_exc() continue #Get informaion form client and reply try: print "Get connect from ", ClientSock.getpeername() data = ClientSock.recv(1024) print "The information we get is %s" % str(data) ClientSock.sendall("I`ve got the information: ") ClientSock.sendall(data) while 1: str = raw_input("What you want to say:") ClientSock.sendall(str) ClientSock.sendall('\n') except (KeyboardInterrupt ,SystemError): raise except: traceback.print_exc() #Clocs socket try: ClientSock.close() except KeyboardInterrupt: raise except: traceback.print_exc()
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)億速云的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。