程式分為伺服器端和客戶端,兩者都是基於tcp協議來進行通訊的。
1、伺服器端
#coding:utf-8
#匯入相關包
import socket
import sys
import time
isotimeformat=
'%y-%m-%d %x'
#時間格式
host=
''#本機ip
port=
8888
#埠號
#建立流式套接字
s=socket.socket(socket.af_inet,socket.sock_stream)
#設定埠復用
s.setsockopt(socket.sol_socket,socket.so_reuseaddr,1)
#繫結(ip,port)
s.bind(
(host,port)
)#監聽套接字
s.listen(5)
print
'runing...'
#接受客戶端連線
clientsock,clientaddr=s.accept(
)print
'%s connected.'%(
str(clientaddr)
)while1:
try:
#接收訊息
buf=clientsock.recv(
1024)if
len(buf)
:#訊息長度大於0則輸出
print
"he say: "
+buf
data=
raw_input
("i say: "
)#等待使用者控制台輸入
#格式化當前時間
send_time=time.strftime(isotimeformat,time.localtime())
#傳送訊息
clientsock.sendall(data+
'[%s]'
%(send_time)
)except
:print
"dialogue over"
clientsock.close(
)#關閉套接字
sys.exit(0)
#退出程式
2、客戶端
#coding:utf-8
#匯入相關包
import socket
import sys
import time
isotimeformat=
'%y-%m-%d %x'
#時間格式
host=
'127.0.0.1'
#本機位址
port=
8888
#建立流式套接字
s=socket.socket(socket.af_inet,socket.sock_stream)
try:
#連線套接字
s.connect(
(host,port)
)except socket.gaierror,e:
print
"address-related error connecting to server:%s"
%e # 1表示非正常退出程式,退出程式是告訴直譯器(os)的
sys.exit(1)
except socket.error,e:
print
"connection error:%s"
%e sys.exit(1)
while1:
try:
#等待使用者控制台輸入
data=
raw_input
("i say: "
)#傳送訊息的時間
send_time=time.strftime(isotimeformat,time.localtime())
#向伺服器傳送訊息
s.send(data+
'[%s]'
%(send_time)
)#從伺服器接收訊息
buf=s.recv(
1024)if
len(buf)
:#訊息長度大於0則輸出
print
"he say: "
+buf
except
:#異常處理
print
"dialogue over"
s.close(
)#關閉套接字
sys.exit(0)
#0表示正常退出程式
最簡單的IdentityServer實現 Api
建立asp.net core web api專案identityserver.easydemo.api 2引用identityserver4.accesstokenvalidation 3新增介面檔案identitycontroller.cs,用於測試授權 如果你直接訪問http localhost...
python最簡單的語言 python語言很簡單麼
在知乎看到提問 為什麼很多人都說 python 簡單?關於這門簡單的語言,它到底簡單在 下面,分享下經驗吧。關於python的入門書籍很多,這是它簡單的原因之一。30天學會xx程式語言 這一類的書籍雖然飽受詬病,但對於初學者來說還是不二之選。尤其是對於從未接觸過程式設計的初學者來說,是極其重要的。這...
tensoflow實現最簡單的分類
import numpy as np import tensorflow as tf import random import pickle from collections import counter import nltk from nltk.tokenize import word toke...