import streamlit as st import pandas as pd import socket # Create a socket s = socket.socket() # Sidebar st.sidebar.title('Chat Options') user_list = st.sidebar.selectbox('User List', ['User 1', 'User 2', 'User 3', 'User 4']) # Main chat window st.title('TCP/IP Chat Session') # Main program if st.sidebar.button('Add Users'): # Get user list user_list = st.sidebar.selectbox('User List', ['User 1', 'User 2', 'User 3', 'User 4']) # Create a dataframe to store chat messages data = {'user': [], 'message': []} df = pd.DataFrame(data) # Connect to the server host = '127.0.0.1' port = 3334 s.connect((host, port)) # Start the chat session while True: # Read the messages from the server data = s.recv(1024) # Print the messages st.write(data) # Get user input message = st.text_input("Message: ") # Append user input to dataframe df = df.append({'user': user_list, 'message': message}, ignore_index=True) # Send the message to the server s.send(message.encode()) # Close the connection s.close() # Show the dataframe st.dataframe(df)