我有一个使用 .NET 远程处理的客户端-服务器应用程序。
服务器通过.NET事件向客户端发送更新事件。 (这对于开始工作来说是一件大事,但它已经部署了七个月,没有出现任何问题。)
为了能够监听事件,客户端必须创建一个监听通道。我的 app.config 文件指定端口“0”,意思是“任何可用端口”。
一切都很好,但现在客户的网络管理员正试图加强防火墙。他们问我们是否可以使用固定端口。我回答说这是可能的,但是这样你就不能在同一台机器上运行多个客户端。您也不能让多个用户从同一 Citrix 服务器使用该应用程序。 (如有错误请指正)
现在他们问我是否可以指定客户端应用程序可以从中选择的端口范围。
有谁知道执行此操作的简单方法:使客户端在范围内的第一个可用端口上创建侦听通道?
dfff = pd.DataFrame(['Id~jkkkk_BK~ilfl_cj~jjkkk', 'Id~jkk_BK~ifl_cj~jjkkk', 'Id~jkgtf_BK~iff_cj~jjkkk', 'Id~jkkk_BK~il_cj~jjkkk'])
dqqq = pd.DataFrame(['Id~jkkkk_BK~ilfl_cj~jjkkk', 'Id~jkk_BK~ifl_cj~jjkkk', 'Id~jkgtf_BK~iff_cj~jjkkk', 'Id~jkkk_BK~il_cj~jjkkk'])
dfff = pd.concat([dfff, dqqq], axis = 1)
dfff.columns = ['aaa', 'bbb']
col_name = dfff.columns[0]
dppp = dfff[f'{col_name}'].str.split('_', expand=True)
dppp
dppp = dfff[f'{col_name}'].str.split('_', expand=True)
mm = dppp.iloc[0].str.split('~', expand=True)
dppp.columns = list(f'{col_name} '+ mm[0])
def func(row):
mm = row.str.split('~', expand=True)
return mm[1]
dppp = dppp.apply(func, axis=1)
dppp
pd.merge(dppp, dfff, right_index=True, left_index=True)