您的位置:首页 > 编程语言 > Python开发

文章标题

2016-07-20 00:41 555 查看
tcp  socket principle
**服务器**
1)导入socket
import socket
2)创建一个基于IPv4和TCP协议的socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
3)绑定自身
用tuple 存端口号和ip
s.bind(('127.0.0.1',9999))
4)监听
传入的参数是最大的监听数量
s.listen(4)
5)和客户端建立连接,返回新建立的socket sock和客户的internet地址addr 并且通过这个sock进行通讯
sock,addr=accept()
6)进行通讯 recv和send。
recv(1024)最大接收到的字节。
data=sock.recv(1024)
sock.send(data.decode('uft-8').encode('uft-8'))
7)关闭sock
sock.close()


1 import socket
2 import time
3 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
4 s.bind(('127.0.0.1',9999))
5 s.listen(4)
6 print('listen....')
7 sock1 , addr1=s.accept()
8 sock1.send(b'Welcome!')
9 while True:
10     data=sock1.recv(1024)
11     time.sleep(1)
12     if not data or data.decode('utf-8') =='exit':
13         break
14     sock1.send(data.decode('utf-8').encode('utf-8'))
15 sock1.close()


客户端

1)导入socket
import socket
2)创建一个基于IPv4和TCP协议的socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
3)建立连接  用tuple 存端口号和ip,这个和服务器tuple一样
s.connect(('127.0.0.1',9999))
4)进行通讯 recv和send。
recv(1024)最大接收到的字节。
data=sock.recv(1024)
sock.send(data.decode('uft-8').encode('uft-8'))
5)关闭sock
sock.close()


1 import socket
2 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
3
4 s.connect(('127.0.0.1',9999))
5
6 print(s.recv(1024).decode('utf-8'))
7
8 while True:
9     data=input()
10     s.send(data.encode('utf-8'))
11     print(s.recv(1024).decode('utf-8'))
12
13 s.close()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python