鱼C论坛

 找回密码
 立即注册
查看: 712|回复: 1

python 写了一个socket,实现tcp,但是客户端获取服务器地址出问题

[复制链接]
发表于 2018-9-11 22:48:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
服务端程序:
  1. import socket
  2. import sys

  3. # 创建 socket 对象
  4. serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

  5. # 获取本地主机名
  6. host = socket.gethostname()

  7. port = 9999

  8. # 绑定端口号
  9. serversocket.bind((host, port))

  10. # 设置最大连接数,超过后排队
  11. serversocket.listen(5)

  12. while True:
  13.     # 建立客户端连接
  14.         print('Waiting for connection...')
  15.         clientsocket,addr = serversocket.accept()      
  16.         while True:
  17.                 data = clientsocket.recv(1024)
  18.                 data = data.decode('utf-8')

  19.                 print(data)
  20.                 print("received from and return to: %s" % str(addr))

  21.                 msg='Welcome!'+ "\r\n"
  22.                 clientsocket.send(msg.encode('utf-8'))
  23.        
  24.         clientsocket.close()
复制代码


客户端程序
  1. import socket
  2. import sys

  3. # 创建 socket 对象
  4. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

  5. # 获取本地主机名
  6. host = socket.gethostname()

  7. # 设置端口号
  8. port = 9999

  9. # 连接服务,指定主机和端口
  10. s.connect((host, port))

  11. while True:
  12.         data = input('>>>').encode(encoding='utf-8')
  13.         if not data:
  14.                 break
  15.         s.send(data)
  16.         # 接收小于 1024 字节的数据
  17.         msg, addr = s.recvfrom(1024)
  18.         print (msg.decode('utf-8'),'from', addr)

  19. s.close()
复制代码

客户端打印服务端地址是一堆乱码,请大神帮忙看看到底怎么回事!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-10-23 11:14:46 | 显示全部楼层
哪里有学习socket 跟 TCP/IP 套接字 的视频吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-2 02:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表