

from socket import *
import socket
def main():
# 创建tcp套接字
tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 链接服务器
# tcp_socket.connect(("10.6.25.79", 8080))
server_ip = input("请输入需要链接服务器的IP:")
server_port = int(input("请输入需要链接服务器的port:"))
server_addr = (server_ip, server_port)
tcp_socket.connect(server_addr)
# 发送数据
send_data = input("请输入发送的数据:")
tcp_socket.send(send_data.encode("gbk"))
# 关闭套接字
tcp_socket.close()
if __name__ == "__main__":
main()
from socket import *
import socket
def main():
# 买个手机-创建tcp套接字
tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 插入手机卡-绑定
tcp_socket.bind(("", 7890))
# 将手机设置为正常的响铃模式(让默认的套接字由主动变为被动listen)
tcp_socket.listen(128)
print("-----1-----")
# 等待别人的电话到来(等待客户端的链接 accept)
client_socket, client_addr = tcp_socket.accept()
print("-----2-----")
# print(client_socket)
print(client_addr)
# 接收客户端发送来的请求
recv_data = client_socket.recv(1024)
print(recv_data.decode("gbk"))
# 回送一部分数据给客户端
client_socket.send("哈哈".encode("gbk"))
# 关闭套接字
tcp_socket.close()
client_socket.close()
if __name__ == "__main__":
main()
from socket import *
import socket
def main():
# 买个手机-创建tcp套接字
tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 插入手机卡-绑定
tcp_socket.bind(("", 7890))
# 将手机设置为正常的响铃模式(让默认的套接字由主动变为被动listen)
tcp_socket.listen(128)
while True:
print("等待一个新的客户端到来")
# 等待别人的电话到来(等待客户端的链接 accept)
client_socket, client_addr = tcp_socket.accept()
# print(client_socket)
print("一个新客户端来了%s" % str(client_addr))
# 接收客户端发送来的请求
recv_data = client_socket.recv(1024)
print("客户端发过来的请求是:%s" % recv_data.decode("gbk"))
# 回送一部分数据给客户端
client_socket.send("哈哈".encode("gbk"))
# 关闭套接字
# 关闭accept返回的套接字,意味着不会再为这个客户端服务
client_socket.close()
print("已经服务完毕")
# 如果将监听套接字关闭,那边会导致不能再次等待新客户端的到来,即XXX.accept就会失败
tcp_socket.close()
if __name__ == "__main__":
main()
from socket import *
import socket
def main():
# 买个手机-创建tcp套接字
tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 插入手机卡-绑定
tcp_socket.bind(("", 7890))
# 将手机设置为正常的响铃模式(让默认的套接字由主动变为被动listen)
tcp_socket.listen(128)
while True: # 循环为多个客户端服务
print("等待一个新的客户端到来")
# 等待别人的电话到来(等待客户端的链接 accept)
client_socket, client_addr = tcp_socket.accept()
# print(client_socket)
print("一个新客户端来了%s" % str(client_addr))
while True: # 循环多次为同一个客户端服务
# 接收客户端发送来的请求
recv_data = client_socket.recv(1024)
print("客户端发过来的请求是:%s" % recv_data.decode("gbk"))
# 如果recv解堵塞,两个方式
# 1 客户端发送过来数据
# 2 客户端调用close导致了recev解堵塞
if recv_data:
# 回送一部分数据给客户端
client_socket.send("哈哈".encode("gbk"))
else:
break
# 关闭套接字
# 关闭accept返回的套接字,意味着不会再为这个客户端服务
client_socket.close()
print("已经服务完毕")
# 如果将监听套接字关闭,那边会导致不能再次等待新客户端的到来,即XXX.accept就会失败
tcp_socket.close()
if __name__ == "__main__":
main()