Skip to content

Commit

Permalink
サーバー側から送るデータをエラーコードに変更
Browse files Browse the repository at this point in the history
それに応じて、クライアント側の処理を変更
  • Loading branch information
nekosaburo8250 committed Oct 14, 2017
1 parent 310ba34 commit 9116b69
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 23 deletions.
Binary file modified .vs/slnx.sqlite
Binary file not shown.
Binary file modified .vs/syokudou/v15/.suo
Binary file not shown.
10 changes: 10 additions & 0 deletions .vs/tasks.vs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"version": "0.2.1",
"tasks": [
{
"taskName": "タスク-shokudo_client",
"appliesTo": "shokudo_client.py",
"type": "launch"
}
]
}
38 changes: 19 additions & 19 deletions shokudo_client.py
Original file line number Diff line number Diff line change
@@ -1,39 +1,43 @@
#coding: UTF-8
#coding:UTF-8

import wx
import socket
import sys


string=u""
string=""

def onEVT_TEXT_ENTER(evt):
try:
student_id=textbox.GetValue()
if not student_id:
return
#sock=socket.socket()
#sock.connect(("192.168.11.8",55555))
#sock.sendall(student_id.encode())
#message_label_text.SetLabel(sock.recv(1024).decode())
message_label_text.SetLabel(u"Input:"+student_id)
sock=socket.socket()
sock.connect(("192.168.11.8",55555))
sock.sendall(student_id.encode())
error_code=sock.recv(1024).decode()
if error_code=="0":

This comment has been minimized.

Copy link
@TateIsuKanna

TateIsuKanna Oct 14, 2017

Contributor
  • メッセージのリストを作っておいてステータスコードをインデックスとしてアクセスしたら分岐いらない
  • ステータスコードはenumにして分かりやすくした方がいい

This comment has been minimized.

Copy link
@nekosaburo8250

nekosaburo8250 Oct 14, 2017

Author

なるほど、わかりました。

This comment has been minimized.

Copy link
@nekosaburo8250

nekosaburo8250 Oct 14, 2017

Author

ステータスコードをenumにした場合、どうやって送りますか。

This comment has been minimized.

Copy link
@TateIsuKanna

TateIsuKanna Oct 14, 2017

Contributor

b"0"みたいのをenumにすればいいと思うよ.そしたらそのまま送れる..valueを忘れずに.

This comment has been minimized.

Copy link
@TateIsuKanna

TateIsuKanna Oct 14, 2017

Contributor

ステータスコード名・ステータスコードのbytesオブジェクトの辞書型で扱うのもアリかもしれない.

This comment has been minimized.

Copy link
@nekosaburo8250

nekosaburo8250 Oct 14, 2017

Author

今、適切な英語がわからず困っています。
無事学生証が通った場合はSUCCESFULでいいんでしょうか。
多重利用はどうしたらいいですか
不正な(無効な)学生証はINVALID_VALUEでよさそうですか

This comment has been minimized.

Copy link
@TateIsuKanna

TateIsuKanna Oct 14, 2017

Contributor

SUCCEEDEDかな.
DUPLICATEDとかかな?(適当)
INVALID_IDかな.何のVALUEか分からないとね.

This comment has been minimized.

Copy link
@nekosaburo8250

nekosaburo8250 Oct 14, 2017

Author

ありがとうございます!!

message_label_text.SetLabel("ご利用ありがとうございます。")
elif error_code=="1":
message_label_text.SetLabel("不正な学籍番号です。")
elif error_code=="2":
message_label_text.SetLabel("多重利用です。")

textbox.Clear()

except ConnectionResetError:
#print(u"接続が切断されました.LANケーブル,ハブの電源を確認して下さい.")
print(u"setsudan")
print("接続が切断されました.LANケーブル,ハブの電源を確認して下さい.")

except BaseException as ex:
#TODO:BaseException必須?
#print(ex+u"原因不明の例外です.")
print(u"reigai")
#TODO:BaseException必須?
print(ex+"原因不明の例外です.")


app=wx.App()
frame=wx.Frame(None)

frame.Maximize()
frame.SetTitle(u"shokudo-kanri-system")
frame.SetTitle("食堂管理システム")

font=wx.Font(100, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL)

Expand All @@ -42,10 +46,10 @@ def onEVT_TEXT_ENTER(evt):
textbox.SetFont(font)
textbox.SetMaxLength(16)

student_id_label_text=wx.StaticText(frame,-1,u"gakusekiNo")
student_id_label_text=wx.StaticText(frame,wx.ID_ANY,"学籍番号:")
student_id_label_text.SetFont(font)

message_label_text=wx.StaticText(frame,wx.ID_ANY,u"gakusekiNo wo nyuryoku shite kudasai")
message_label_text=wx.StaticText(frame,wx.ID_ANY,"学籍番号を入力してください")
message_label_text.SetFont(font)

vsizer=wx.BoxSizer(wx.VERTICAL)
Expand All @@ -59,10 +63,6 @@ def onEVT_TEXT_ENTER(evt):

frame.SetSizer(vsizer)

#sizer=wx.FlexGridSizer(cols=2, vgap=1, hgap=5)
#sizer.Add(textbox,flag=wx.GROW)
#frame.SetSizer(sizer)

app.SetTopWindow(frame)
frame.Show(True)

Expand Down
8 changes: 4 additions & 4 deletions shokudo_server.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#TODO:停電対策(耐障害)
#TODO:停電対策(耐障害)

import socket
import re
Expand All @@ -19,12 +19,12 @@
print(student_id)
if re.match(r"\d{6}$",student_id):
if student_id in customers:
client_sock.sendall("多重利用です!!!!!".encode())
client_sock.sendall(b"2")
else:
customers.append(student_id)
client_sock.sendall(b"ok")
client_sock.sendall(b"0")
else:
client_sock.sendall("不正な学生証です.".encode())
client_sock.sendall(b"1")
except ConnectionResetError:
print("接続が切断されました.LANケーブル,ハブの電源を確認して下さい.")
except BaseException as ex:
Expand Down

0 comments on commit 9116b69

Please sign in to comment.