TCP Client
客户端编程步骤:
创建socket对象
连接到服务端的ip和port,connect()方法
传输数据
使用send、recv方法发送、接收数据
关闭连接,释放资源
最简单的客户端:
#TCP Client客户端
import socket
client = socket.socket()
client.connect(('127.0.0.1',9999))
client.send("Hi, I'm client1.".encode())
client.close()
#运行
服务端状态:
[16:08:25] [showthreads,1796] [<_mainthread started>, , , ]
[16:08:26] [accept,5908] -('127.0.0.1', 5287)
[16:08:26] [show_client,9344] {('127.0.0.1', 5287): <_io.textiowrapper mode="rw" encoding="utf8">}
2017/12/24 16:08:26 127.0.0.1:5287
Hi, I'm client1.
[16:08:26] [recv,980] 2017/12/24 16:08:26 127.0.0.1:5287
Hi, I'm client1.
[16:08:26] [recv,980] ('127.0.0.1', 5287) quit
[16:08:28] [showthreads,1796] [<_mainthread started>, , , ]
将上面的TCP Client封装成类:
1)搭架子
#TCP Client客户端 封装成类
import socket
class ChatClient:
def __init__(self):
pass
def start(self):
pass
def _recv(self):
pass
def send(self):
pass
def stop(self):
pass
2)基础功能
客户端:
#TCP Client客户端 封装成类
import socket,threading,logging,datetime
DATEFMT="%H:%M:%S"
FORMAT = "[%(asctime)s]\t [%(threadName)s,%(thread)d] %(message)s"
logging.basicConfig(level=logging.INFO,format=FORMAT,datefmt=DATEFMT)
class ChatClient:
def __init__(self,ip='127.0.0.1',port=9999):
self.sock = socket.socket()
self.addr = (ip,port