一、TCP客户端:
代码如下:
#导包:
import socket
def main()
#1.创建套接字:
tcp_socket = socket.socket(socket.AF_IENT,socket.SOCK_STREAM)
#2.连接服务器:
sever_ip = input("请输入要连接的服务器的IP:")
sever_port = input("请输入要连接的服务器的port:")
sever_addr = (sever_ip,sever_port)
tcp_socket.connect(sever_addr)
3.发送/接收:
send_data = input("请输入要发送的数据:")
tcp_socket.send(send_data.encode("utf-8"))
"""linux与linux之间用utf-8进行编译,linux与windows之间用gbk进行编译"""
#4.关闭套接字:
tcp_socket.close()
if __name__ == "__main__":
main()
二、TCP服务器端:
代码如下:
#导包:
import socket
def main():
#1.创建套接字:
tcp_server = socket.socket(socket.AF_IENT,socket.SOCK.STREAM)
#2.绑定本地信息:
tcp_server.bind(("",8899))
#3.让默认的套接字由主动变为被动
tcp_server.listen(128)
while Ture:
print("----等待一个新的客户的到来-----")
#4.等待客户端的连接:accept
new_client,client_addr = tcp_server.accept()
print("一个新客户已经来了%s"%str(client_addr))
while Ture:
#接收客户端发送的请求:
recv_data = new_client.recv(1024)
print("客户端发送过来的是:%s"%recv_data.decode("utf-8"))
#做判断条件:如果recv解堵塞,两种方法:
#1.客户端发送过来了数据:
#2.客户端调用了close
if recv_data:
#回送一些消息给客户端:
new_client.send("nihao".encode("utf-8"))
else:
break
#5.关闭套接字:
new_client.close()
print("------服务结束------")
tcp_server.close()
if __name__ == "__main__":
main()