Python 은 Appium 포트 검 측 과 방출 의 실현 을 실현 합 니 다.

1.모니터링 포트
포트 가 점용 되 었 는 지 확인 하기 위해 서 인용 할 socket 모듈 입 니 다.
1.1 socket 은 무엇 입 니까?
한 마디 로 네트워크 의 두 프로그램 은 하나의 양 방향 통신 연결 을 통 해 데이터 교환 을 실현 하 는데 이 연결 의 한 끝 을 하나의 socket 이 라 고 부른다.네트워크 통신 연결 을 만 들 려 면 최소한 한 쌍 의 포트 번호(socket)가 필요 합 니 다.
1,2 socket 의 본질은 무엇 입 니까?
socket 본질은 프로 그래 밍 인터페이스(API)입 니 다.TCP/IP 에 대한 패 키 징 입 니 다.TCP/IP 도 프로그래머 가 네트워크 개발 에 사용 할 수 있 는 인 터 페 이 스 를 제공 해 야 합 니 다.이것 이 바로 Socket 프로 그래 밍 인터페이스 입 니 다.
socket 의 통신 원리 에 대하 여 우 리 는 참고 할 수 있다socket 통신 원리.
socket 모듈 내용 에 대하 여 우 리 는 참고 할 수 있 습 니 다python socket 모듈 문서
우 리 는 코드 를 올 려 포트 가 사용 되 었 는 지 확인 하 는 방법 을 보 았 다.

# -*- coding: utf-8 -*-
"""
@ auth : carl_DJ
@ time : 2020-7-7
"""


import socket

def check_port(host,port):
 "         "

 #  socket  
 s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
 try:
  s.connect((host,port))
  s.shutdown(2) #         
 except OSError as msg:
  print("port %s is available !" %port)
  print(msg)
  return True
 else:
  print("port %s already in use! " %port)
  return False

if __name__ == '__main__':
 host = '127.0.0.1'
 prot = 4723
 check_port(host,prot)
여기 주의 하 세 요.
shutdown(self,flag):한 Socket 에서 데 이 터 를 수신 하고 보 내 는 것 을 금지 합 니 다.
shutdown()함 수 를 이용 하여 양 방향 데이터 전송 을 단 방향 데이터 전송 으로 바 꿉 니 다.
인자:
>0 장래에 읽 는 것 을 금지한다.
>1 장래에 쓰 는 것 을 금지한다
>2 앞으로 읽 기와 쓰 기 를 금지 한 다 는 뜻 이다.
코드 실행 결 과 를 살 펴 보 겠 습 니 다.
아래 그림 상태 와 같이 서버 가 이 포트 서 비 스 를 열지 않 았 기 때문에 이 포트 는 사용 할 수 있 습 니 다!
在这里插入图片描述
2.방출 포트
만약 포트 가 점용 된다 면,우 리 는 그것 을 풀 어야 한다.
그럼 포트 를 어떻게 풀 어 요?
두 가지 방법 이 있다.
1.cmd 창 방출 포트;
2.python 코드 방출 포트.
2.1 cmd 방출 포트
1.먼저 우리 가 필요 로 하 는 포트 번 호 를 찾 습 니 다.

netstat -aon | findstr "5037"
在这里插入图片描述
2.포트 번 호 를 통 해 pid 를 찾 은 다음 프로 세 스 를 죽 입 니 다.

taskkill -f -pid 18028
2.2 Python 코드 방출 포트
그럼 python 에서 어떻게 이 루어 집 니까?
우 리 는 코드 를 본다.

# -*- coding: utf-8 -*-
"""
@ auth : carl_DJ
@ time : 2020-7-7
"""
import os

def release_port(port):
 "      "

 #       pid
 cmd_find = 'netstat -ano | findstr %s' %port
 print(cmd_find)

 #        
 result = os.popen(cmd_find).read()
 print(result)

 if str(port) and 'LISTENING' in result:
  #       pid  
  i = result.index('LISTENING')
  # 'LISTENING'        7   
  start = i + len('LISTENING') +7
  end = result.index('
') pid = result[start:end] # pid cmd_kill = 'taskkill -f -pid %s' %pid print(cmd_kill) os.popen(cmd_kill) else: print('port %s is available !' %port) if __name__ == '__main__': host = '127.0.0.1' port = 4723 release_port(port)
운행 결과 가 무엇 인지 봅 시다.
在这里插入图片描述
4723 이 포트 를 사용 할 수 있 음 을 설명 합 니 다.
여기 서 한 마디 더 하 자.
os.open():파 이 프 를 열 어 cmd 콘 솔 에 입력 한 정 보 를 얻 는 것 입 니 다.
더 자세 한 내용 은 참고pyhton 의 os.open()공식 문서
물론 os.open()과 os.system()을 빠르게 알 고 싶다 면
이《시스템 명령 os.system()과 os.open()호출》문장 을 참조 할 수 있다.
파 이 썬 이 Appium 포트 검 측 과 방출 을 실현 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 Appium 포트 검 측 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기