私は、TCP/IP接続を使用してレーザーと通信し、その機能を制御しています。最初は、socket.connect()メソッドを使用してクライアントとしてのレーザー接続を行いますが、レーザーとコンピューターのステータスはすべて同じで、受信した送信と要求の両方をモニターする必要がありますTCP/IPプロトコルのマニュアルを参照してください)。クライアントとして接続してもデータを監視できるようにするには、どのように構成/コードを知ることができますか?私はループでrecv()を使用しようとしましたが、これが正しいかどうかはわかりません。あなたの助けのpython 2.7データのTCP/IP接続の監視
感謝を使用すると、
アンドリュー
import socket
import numpy as np
import json
import time
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
def connect(IP_addrs = '192.168.1.222', port = 39933):
s.settimeout(10)
s.connect((IP_addrs,port))
myIP = s.getsockname()[0]
msg = {"transmission_id" : [1] , "op":"start_link", "parameters":{ "ip_address": myIP}}
reply = send(msg)
print reply
def send(msg):
s.sendall(json.dumps({ "message" : msg }))
r = s.recv(1024)
r = json.loads(r)
return r["message"]["parameters"]
def ping():
msg = {'transmission_id' : [2], 'op':'ping', 'parameters':{'text_in':'TESTING'}}
reply = send(msg)
print reply['text_out']
def move_wave_m(wavelength):
msg = {'transmission_id' : [3], 'op':'set_wave_m', 'parameters':{'wavelength': [wavelength],
'report':['finished']}}
reply = send(msg)
print reply
while True:
reply = s.recv(1024)
if not reply:
break
print reply
def poll_wave_m():
msg = {'transmission_id' : [4], 'op':'poll_wave_m'}
return send(msg)
connect()
ping()
s.settimeout(None)
move_wave_m(725.0000)
s.close()