超级简单Python Socket Server一例

中午,公司太吵,闲着无聊,用python自己跟自己说话,算是YY吧,hoho

server端代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# -*- coding: utf-8 -*-
from socket import *
import sys, time, encodings
 
if __name__ == '__main__':
	if len(sys.argv) < 2:
		print u'请输入端口号'
	else:
		sockobj = socket(AF_INET, SOCK_STREAM)
		sockobj.bind( ('', int(sys.argv[1])) )
		sockobj.listen(2)
		while True:
			connection,address = sockobj.accept()
			rcvd = connection.recv(1024)
			if not rcvd :
				pass
			else:
				print u'收到:', rcvd.decode('utf-8').encode('gb2312')
				print u'发送:能'
				connection.send("能")
				break
			connection.close()

Client端代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#coding: utf-8
from socket import *
import time
 
if __name__ == '__main__':
	sockobj = socket(AF_INET, SOCK_STREAM)
	sockobj.connect(('localhost', 2828) )
	send_info = "能收到信息吗?"
	time.sleep(1)
	print u"发送:", send_info.decode("utf-8").encode("gbk")
	sockobj.send(send_info)
	rcvd = sockobj.recv(1024)
	print u"收到:", rcvd.decode('utf-8').encode('gb2312')
	sockobj.close()
	print u"完成"

特别说明一下,我是在Windows下面搞的,CMD默认只能显示GBK编码,所以在print的时候转来转去,如果在Linux终端,直接显示就行了

此条目发表在 Programming 分类目录,贴了 标签。将固定链接加入收藏夹。

超级简单Python Socket Server一例》有 2 条评论

  1. 田伟 说:

    娱乐方式都这么特别。

    [Reply]

  2. wangjian 说:

    哥们,咱们是同事,你怎么就比我厉害这么多呢!

    [Reply]

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">