Python 的 Socket 编程教程

2026/4/23 2:23:37

# could not resolve

print 'Hostname could not be resolved. Exiting' sys.exit()

print 'Ip address of ' + host + ' is ' + remote_ip #Connect to remote server

s.connect((remote_ip , port))

print 'Socket Connected to ' + host + ' on ip ' + remote_ip #Send some data to remote server for f in open(\ #f.close()

try : #Set the whole string s.sendall(message) except socket.error:

#Send failed

print 'Send failed' sys.exit() print f, message = f

print 'Message send successfully' #New receive data

reply = s.recv(4096) print reply s.close()

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Socketser.py代码如下:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #!/usr/bin/env python import socket import sys

from thread import *

HOST = '' # Symbolic name meaning all available interfaces PORT = 8888 # Arbitrary non-privileged port

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print 'Socket created'

#Bind socket to local host and port try:

s.bind((HOST, PORT)) except socket.error , msg:

print 'Bind failed. Error Code : ' + str(msg[0]) + ' Message ' + msg[1] sys.exit()

print 'Socket bind complete' #Start listening on socket s.listen(10)

print 'Socket now listening'

#Function for handling connections. This will be used to create threads def clientthread(conn): #Sending message to connected client conn.send('Welcome to the server. Type something and hit enter\\n') #send only takes string

#infinite loop so that function do not terminate and thread do not end. while True:

#Receiving from client data = conn.recv(1024) reply = 'OK...' + data f=open('receive.txt', 'a') print >> f,data f.close()

if not data: break

conn.sendall(reply)

#came out of loop conn.close()

#now keep talking with the client

while 1: #wait to accept a connection - blocking call

conn, addr = s.accept() print 'Connected with ' + addr[0] + ':' + str(addr[1]) #start new thread takes 1st argument as a function name to be run, second is the tuple of arguments to the function.

start_new_thread(clientthread ,(conn,)) s.close()

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

把客户端读取文件的方式改为:

# python socketcli.py “aaa:bbb:ccc:ddd” 代码如下:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #!/usr/bin/python

import socket # for sockets import sys # for exit try:

#create an AF_INET, STREAM socket (TCP)

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) except socket.error, msg:

print 'Failed to create socket. Error code: ' + str(msg[0]) + ' , Error message : ' + msg[1] sys.exit();

print 'Socket Created' host = '10.1.22.11' port = 8888

try:

remote_ip = socket.gethostbyname( host ) except socket.gaierror: # could not resolve print 'Hostname could not be resolved. Exiting' sys.exit()

print 'Ip address of ' + host + ' is ' + remote_ip #Connect to remote server s.connect((remote_ip , port))

print 'Socket Connected to ' + host + ' on ip ' + remote_ip #Send some data to remote server def readfile(filename):

'''Print a file to the standard output.''' f = file(filename) while True:

line = f.readline() if len(line) == 0: break print line, f.close()

print \message = sys.argv[1] try : #Set the whole string s.sendall(message) except socket.error:

#Send failed print 'Send failed' sys.exit()

print 'Message send successfully' ##New receive data reply = s.recv(4096) print reply

s.close()

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Python 的 Socket 编程教程.doc 将本文的Word文档下载到电脑
搜索更多关于: Python 的 Socket 编程教程 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219