I had my Windows computer connect to my linux python server.
The server works very well for linux users, but I want it to run on Windows as well. I did some research and found out that the select.select() function on Windows works without a stdin pipe, but when I do it it, it doesn't send any data to the server, only receives.
Code:
__author__ = 'root'
import socket
import datetime
import getpass # Get username
import sys
import threading
import thread
import select
def client():
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
address = "192.168.1.17"
sock.bind((str("192.168.1.231"), int(2222)))
sock.connect(("192.168.1.17", int(23657)))
sock.setblocking(0)
sock.send(getpass.getuser()+"[$ID$]zivofek")
socket_list = [sys.stdin, sock]
partner = raw_input("Chat partner: ")
while 1:
try:
message = raw_input()
sock.sendall(message)
data = sock.recv(1024)
print data
except:
continue
def get_time():
return datetime.datetime.strftime(datetime.datetime.now(), '%H:%M:%S')
def main():
client()
if __name__ == "__main__":
main()
Any idea of how to make both receiving and sending at the same time in Windows?