文章目录
写在前面的话:用MarkDown记录python学习TCP编程。
Server端代码:
import socket
import time
import sys
import threading
def SocketInit(ip,port):
#第一步:创建套接字,即实例化
s = socket.socket(sock.AF_INET,socket.SOCK_STREAM)
#这里AF_INET对应的是Socket类型,代表服务器之间网络通信
#SOCK_STREAM对应的是TCP流式socket,如果是UDP数据报式socket,就是SOCK_DGRAM
#第二步:绑定IP地址和端口号
s.bind(ip,port)
#第三步:定义监听,数字5是5次的意思,最大允许挂起的连接数量
s.lisent(5)
print('Waiting for connection...')
while True:
#第四步:接收一个新的连接
sock,addr = s.accept()
#创建新的线程来处理TCP连接
#这里多线程自己暂时不会,没理解到
t = threading.Thread(target=DealClient,args=(sock,port))
t.start()
def DealClient(sock,addr):
#第五步:接收新传来的数据,并发送数据给对方
print('Accept a new connection from %s:%s...' %addr)
sock.send(b'Hello I am server!')
while True:
data = sock.recv(1024)#1024指的是最多一次接收1024个字节
time.sleep(1)
if not data or data.decode('utf-8') == 'exit':
break
print('Loop_Measage: Hello ,I am a client!')
sock.close()
print('Connection from %s:%s closed.'%addr)
if __name__ == '__main__':
SocketInit('192.168.43.86',9999)
#这里第一个IP地址请填写自己本机的IP地址,第二个是端口号,自行设定,只要双方用同一个端口号就行。
DealClient(sock,addr)
Clicent端代码
等待更新: