TCP python socket
注意一定要先启动server,再启动client,否则client因为无法找到server而抛出异常
TCPServer.py
# coding=utf-8
from socket import *
serverPort = 12000
# AF_INET表示底层网络使用的是ipv4, SOCK_STREAM表示使用的socket类型是TCP
serverSocket = socket(AF_INET, SOCK_STREAM)
# 绑定服务器的端口号
serverSocket.bind(('', serverPort))
# 设置请求连接的最大数(>0)
serverSocket.listen(1)
print 'The Server is ready to recieve'
while 1:
# 阻塞程序,等待TCP Client的connect,以完成三次握手
connectionSocket, addr = serverSocket.accept()
# 从Ciletn出接受字节流,最大为1024B
sentence = connectionSocket.recv(1024)
capitalizedSentence = sentence.upper()
# 向Client发送字节流
connectionSocket.send(capitalizedSentence)
# 关闭连接
connectionSocket.close()
TCPClient.py
# coding=utf-8
from socket import *
serverName = '127.0.0.1'
serverPort = 12000
# AF_INET表示底层网络使用的是ipv4, SOCK_STREAM表示使用的socket类型是TCP
clientSocket = socket(AF_INET, SOCK_STREAM)
# 三次握手,尝试建立TCP连接,如果失败会抛出异常
clientSocket.connect((serverName, serverPort))
sentence = raw_input('input lowercase sentence:')
# 发送出字节流给服务器
clientSocket.send(sentence)
# 从服务器接受信息,会阻塞程序,1024表示缓存的最大大小是1024B
modifiedSentence = clientSocket.recv(1024)
print 'From Server:', modifiedSentence
# 关闭套接字,发送最后一条TCP保文
clientSocket.close()