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'
将消息转化成字符串后是: 我也希望祖国富强万岁
 *********程序结束********

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值