title: ZMQ Error: zmq.error.ZMQError: Permission denied
body: <p>So i am making a zmq chat app, it worked before but now it isnt. It throws up the error</p>
  <pre><code>zmq.error.ZMQError: Permission denied
  </code></pre>
  <p>In the server program.</p>
  <p>I have not turned on any firewalls etc.
  Here is the server code:</p>
  <pre><code>import time
  import zmq 
  import tkinter as tk
  import threading
  
  port = &quot;8080&quot; 
  context = zmq.Context()
  socket = context.socket(zmq.PAIR)
  socket.bind(&quot;tcp://*:%s&quot; % port)
  
  
  HEIGHT = 500
  WIDTH = 600
  root = tk.Tk()
  root.title(&quot;Server&quot;)
  root.geometry(&quot;500x500&quot;)
  
  def SM():
     value = str(entry.get())
     T.insert(tk.END, &quot;&quot;&quot;
     You: &quot;&quot;&quot;+value)
     socket.send_string(value)
  
  def Receive():
     global T
     while True:
      time.sleep(0.1)
      message = socket.recv_string()
      print(message)
      T.insert(tk.END, &quot;&quot;&quot;
      Them: &quot;&quot;&quot;+ str(message))
      time.sleep(0.1)
  def Kick():
      print(&quot;Kicked&quot;)
      socket.send_string(&quot;Kicked!&quot;)
  
  
  x = threading.Thread(target=Receive)
  
  
  frame = tk.Frame(root, bg='#80c1ff', bd=5)
  v = tk.Scrollbar(root, orient='vertical')
  
  frame.place(relx=0.5, rely=0.1, relwidth=0.75, relheight=0.6, anchor='n')
  
  frame_2 = tk.Frame(root, bg='#80c1ff', bd=5)
  frame_2.place(relx=0.5, rely=0.8, relwidth=0.75, relheight=0.1, anchor='n')
  frame3 = tk.Frame(root, bg='#80c1ff', bd=5)
  frame3.place(relx=0.5, rely=0, relwidth=0.75, relheight=0.1, anchor='n')
  T = tk.Text(frame,x=0.5, y=0.8, width=100, height=30, yscrollcommand=v.set)
  T.pack()
  
  entry = tk.Entry(frame_2, font=40)
  entry.place(relwidth=0.65, relheight=1)
  
  v.pack(side=tk.RIGHT, fill=tk.Y)
  button = tk.Button(frame_2, text=&quot;Send Message&quot;, font=40,command=SM)
  button.place(relx=0.7, relheight=1, relwidth=0.3)
  button2 = tk.Button(frame3, text=&quot;Kick this client&quot;, font=40,command=Kick)
  button2.place(relx=0.7, relheight=1, relwidth=0.3)
  v.config(command=T.yview)
  x.start()
  root.mainloop()
  </code></pre>
  <p>Whats funny is that it suddenly started throwing the error. It worked before, but doesnt now...</p>