码迷,mamicode.com
首页 > 其他好文 > 详细

socket概念 套接字

时间:2018-05-03 19:26:38      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:127.0.0.1   server   图片   模式   ret   bind   连接服务器   对话   数据   

 

理解socket

Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。


其实站在你的角度上看,socket就是一个模块。我们通过调用模块中已经实现的方法建立两个进程之间的连接和通信。 也有人将socket说成ip+port,因为ip是用来标识互联网中的一台主机的位置,而port是用来标识这台机器上的一个应用程序。 所以我们只要确立了ip和port就能找到一个应用程序,并且使用socket模块来与之通信。

socket层

技术分享图片

 

套接字(socket)初使用

基于TCP协议的socket

tcp是基于链接的,必须先启动服务端,然后再启动客户端去链接服务端

 

server端

import socket
sk = socket.socket()
sk.bind((127.0.0.1,8898))  #把地址绑定到套接字  这个ip地址和端口是输入你想进行连接的地址和端口
sk.listen()          #监听链接
conn,addr = sk.accept() #接受客户端链接
ret = conn.recv(1024)  #接收客户端信息
print(ret)       #打印客户端信息
conn.send(bhi)        #向客户端发送信息
conn.close()       #关闭客户端套接字
sk.close()        #关闭服务器套接字(可选)

client端

import socket
sk = socket.socket()           # 创建客户套接字
sk.connect((127.0.0.1,8898))    # 尝试连接服务器
sk.send(bhello!)
ret = sk.recv(1024)         # 对话(发送/接收)
print(ret)
sk.close()            # 关闭客户套接字

 

socket概念 套接字

标签:127.0.0.1   server   图片   模式   ret   bind   连接服务器   对话   数据   

原文地址:https://www.cnblogs.com/askzyl/p/8986364.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!