Python学习之路-----tcp实例

TCP和UDP都是传输层的协议,二者在实现上有着本质的区别。具体请看这篇文章:

https://blog.csdn.net/zhang6223284/article/details/81414149

 

TCP服务器实例:

#coding=utf-8

from socket import *
import time

serSocket = socket(AF_INET,SOCK_STREAM)
#创建TCP类型套接字

serAddr = ('127.0.0.1',8888)

serSocket.bind(serAddr)

print('正在监听来自客户端的请求...')
serSocket.listen()
#监听来自客户端的请求

newSocket,cliaddr = serSocket.accept()
#accept()返回一个元组,元组的第一个元素与客户端建立链接后的新套接字
print(newSocket,cliaddr)

recvData = newSocket.recv(1024)
print('\n收到的原始消息:')
print(recvData)
print('\n收到的消息转化成字符串:')
print(recvData.decode())

sendData = input('\t\t请输入要给客户端服务器的信息:')
newSocket.send(sendData.encode())

serSocket.close()
#通信结束后关闭套接字


time.sleep(2)
print('***********程序结束!!!***********')




结果:
正在监听来自客户端的请求...
<socket.socket fd=200, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 8888), raddr=('127.0.0.1', 53316)> ('127.0.0.1', 53316)

收到的原始消息:
b'\xe7\xa5\x96\xe5\x9b\xbd\xe4\xb8\x87\xe5\xb2\x81\xef\xbc\x8c\xe8\xbf\x99\xe6\x98\xaf\xe7\x94\xa8TCP\xe5\x8f\x91\xe9\x80\x81\xe7\xbb\x99\xe6\x9c\x8d\xe5\x8a\xa1\xe5\x99\xa8\xe7\x9a\x84\xe6\xb6\x88\xe6\x81\xaf'

收到的消息转化成字符串:
祖国万岁,这是用TCP发送给服务器的消息
		请输入要给客户端服务器的信息:我也希望祖国富强万岁
***********程序结束!!!***********

TCP客户端实例:

#coding=utf-8

from socket import *
import time

tcpSocket = socket(AF_INET,SOCK_STREAM)

serAddr = ('127.0.0.1',8888)

tcpSocket.connect(serAddr)
#请求与服务器建立连接

msg = input('请输入要发送的消息:')
tcpSocket.send(msg.encode())

recvData = tcpSocket.recv(1024)
print('收到来自服务器的原始消息:',recvData)
print('将消息转化成字符串后是:',recvData.decode())

tcpSocket.close()
print(' *********程序结束********')


结果:
请输入要发送的消息:祖国万岁,这是用TCP发送给服务器的消息
收到来自服务器的原始消息: b'\xe6\x88\x91\xe4\xb9\x9f\xe5\xb8\x8c\xe6\x9c\x9b\xe7\xa5\x96\xe5\x9b\xbd\xe5\xaf\x8c\xe5\xbc\xba\xe4\xb8\x87\xe5\xb2\x81'
将消息转化成字符串后是: 我也希望祖国富强万岁
 *********程序结束********
发布了76 篇原创文章 · 获赞 21 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/shen_chengfeng/article/details/102995791
今日推荐