TCP编程学习(一)


写在前面的话:用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)
	#第三步:定义监听,数字55次的意思,最大允许挂起的连接数量
	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端代码

等待更新:

猜你喜欢

转载自blog.csdn.net/qq_44644960/article/details/112755411