Python Forum
Socket won't connect, giving me a typeerror - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: Networking (https://python-forum.io/forum-12.html)
+--- Thread: Socket won't connect, giving me a typeerror (/thread-25214.html)



Socket won't connect, giving me a typeerror - GalaxyCoyote - Mar-23-2020

I am trying to establish a connection to server.py but client.py outputs this error

Error:
Traceback (most recent call last): File "C:\Users\Nathan\Desktop\Coding\Langs\Python\Projects\Chatting Program\Client.py", line 15, in <module> clientsocket.connect((host, port)) # Connects to the server TypeError: an integer is required (got type str)
Here is my code...

from socket import *
import socket

## -- Server (Room) -- ##
host = input("Host: ")
port = input("Port: ")
#int(port)

username = input("Username: ")
username = "<" + username + ">"
print(f"Connecting under nick \"{username}\"")

clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Creates socket
clientsocket.connect((host, port)) # Connects to the server

while True:
    Csend = input("<MSG> ") # Input message
    Csend = f"{username} {Csend}" # Add username to message
    clientsocket.send(Csend) # Send message to ONLY the server
I have tried converting host and port into str, int, and float, but it only successfully converts into str. Any help would be greatly appreciated.


RE: Socket won't connect, giving me a typeerror - Mateusz - Apr-07-2020

It seems that you did not convert to int (or did it badly) because below code works properly.
clientsocket.connect((host, int(port)))