创建和运行TCP服务端的五个步骤
1、创建Socket,绑定Socket到本地IP与端口
2、开始监听连接
3、进入循环,不断接收客户端的连接请求
4、接收传来的数据,并发送给对方数据
5、传输完毕后,关闭Socket
例子:
import socket
import threading
import time
def dealClient(sock, addr):
print('Accept new connection from %s:%s...' % addr)
sock.send(b'Hello,I am server!')
while True:
data = sock.recv(1024)
time.sleep(1)
if not data or data.decode('utf-8') == 'exit':
break
print('--->>%s' % data.decode('utf-8'))
sock.send(('Loop_Msg:%s!' % data.decode('utf-8')).encode('utf-8'))
sock.close()
print('Connection from %s:%s closed.' % addr)
if __name__ == '__main__':
sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sockets.bind(('127.0.0.1', 9999))
sockets.listen(5)
print('waiting for connection...')
while True:
sock, addr = sockets.accept()
t = threading.Thread(target=dealClient, args=(sock, addr))
t.start()
创建客户端的步骤
1、创建Socket,连接远程地址
2、连接后发送数据和接收数据
3、传输完毕后关闭socket
例子:
import socket
sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sockets.connect(('127.0.0.1', 9999))
print('--->>' + sockets.recv(1024).decode('utf-8'))
sockets.send(b'Hello,I am a client.')
print('--->>' + sockets.recv(1024).decode('utf-8'))
sockets.send(b'exit')
sockets.close()
运行结果:
服务端:
waiting for connection...
Accept new connection from 127.0.0.1:55970...
--->>Hello,I am a client.
Connection from 127.0.0.1:55970 closed.
客户端:
--->>Hello,I am server!
--->>Loop_Msg:Hello,I am a client.!

4万+

被折叠的 条评论
为什么被折叠?



