python3 socket and client编写

什么是socket

  所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。

  socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。Socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)

egg:

Server:

import socket

sk = socket.socket()
ip_port = ('127.0.0.1',9999)
sk.bind(ip_port)
sk.listen()

while True:
conn,address = sk.accept()
conn.send('hello.'.encode())
flag = True
while flag:
data = conn.recv(1024).decode()
print(data)
if data == 'exit':
flag = False
conn.send('sb'.encode())
conn.close()

Client:

import socket

client = socket.socket()

ip_port = ('127.0.0.1',9999)

client.connect(ip_port)

while True:
data = client.recv(1024).decode()
print(data)
inp = input('client:')
client.send(inp.encode())
if inp == 'exit':
break

注:需要注意python3中conn.send()发送的是字节,而不是字符串,所以需要在接收端和发送端分别进行encode()和decode();

 

posted @ 2020-06-08 16:22  myflyand  阅读(485)  评论(0)    收藏  举报